今天按要求更改了项目的需求,其中一点就是得到当前日期所在周的周一的日期
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基础没打好啊