Java判断日期是否是本日,本周,本月

如题所述

public static void main(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Calendar firstDayOfWeek = Calendar.getInstance(Locale.getDefault());
firstDayOfWeek.setFirstDayOfWeek(Calendar.MONDAY);
int day = firstDayOfWeek.get(Calendar.DAY_OF_WEEK);
firstDayOfWeek.add(Calendar.DATE, -day+1+1);// 后面的+1是因为从周日开始
// 本周一的日期
System.out.println(format.format(firstDayOfWeek.getTime()));

Calendar lastDayOfWeek = Calendar.getInstance(Locale.getDefault());
lastDayOfWeek.setFirstDayOfWeek(Calendar.MONDAY);
day = lastDayOfWeek.get(Calendar.DAY_OF_WEEK);
lastDayOfWeek.add(Calendar.DATE, 7-day+1);
// 本周星期天的日期
System.out.println(format.format(lastDayOfWeek.getTime()));
}

这一段代码可以获取本周一的日期、本周日的日期,比如本周一为20180702、本周日为20180708。只要判断给定的日期数字是否在[20180702, 20180708]范围内即可

以上的是判断日期是否是本周的方法,至于本日和本月就很好判断了,直接将日期格式化为20180702类似的数字,然后与今天进行比较即可判断是否本日,与本月的字符串201807进行比较,看字符串的前面6个字符是否equals即可

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-02
java中Calendar类是用来处理日期的