java判断日期是不是当天:
public static boolean isToday(String str, String formatStr) throws Exception{ SimpleDateFormat format = new SimpleDateFormat(formatStr); Date date = null; try { date = format.parse(str); } catch (ParseException e) { logger.error("解析日期错误", e); } Calendar c1 = Calendar.getInstance(); c1.setTime(date); int year1 = c1.get(Calendar.YEAR); int month1 = c1.get(Calendar.MONTH)+1; int day1 = c1.get(Calendar.DAY_OF_MONTH); Calendar c2 = Calendar.getInstance(); c2.setTime(new Date()); int year2 = c2.get(Calendar.YEAR); int month2 = c2.get(Calendar.MONTH)+1; int day2 = c2.get(Calendar.DAY_OF_MONTH); if(year1 == year2 && month1 == month2 && day1 == day2){ return true; } return false; }
上述代码中 formatStr 是我们需要校验的日期形式,比如我需要校验 “20161212”是否是当天,那么formatStr为"yyyyMMdd"。
比如我们需要校验“2016-12-12”是不是当天,就为“yyyy-MM-dd”,比如需要校验“2016/12/12”的字符串,就为“yyyy/MM/dd”,依次类推即可。
java中使用SimpleDateFormat类的构造函数SimpleDateFormat(String str)构造格式化日期的格式,
通过format(Date date)方法将指定的日期对象格式化为指定格式的字符串.