如何获取当前日期所在周的周一的日期以及如何计算两个日期的差值

今天按要求更改了项目的需求,其中一点就是得到当前日期所在周的周一的日期

SimpleDateFormat simdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.set(cal.DAY_OF_WEEK,cal.MONDAY);
String weekhand = simdf.format(cal.getTime());

幸亏今天是周日,出现了BUG.

因为如果当前日期是周日,则会计算到下周去


而今天日期是 


万幸啊!!!!

解决方法是,

SimpleDateFormat simdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天  
if (1 == dayWeek) {  
    cal.add(Calendar.DAY_OF_MONTH, -1);  
} 
cal.set(cal.DAY_OF_WEEK,cal.MONDAY);
String weekhand = simdf.format(cal.getTime());

这样就行了


接下来,如何计算两个日期之间的差呢?

//获取当前日期
Calendar now = Calendar.getInstance();
int nowDay = now.get(Calendar.DATE);
int oneDay = cal.get(Calendar.DATE);
System.out.println(nowDay-oneDay);

这样就可以了


这都是在网上找的,哎,java基础没打好啊

猜你喜欢

转载自blog.csdn.net/qq_35815781/article/details/80792008