java判斷日期是不是當(dāng)天:
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”是否是當(dāng)天,那么formatStr為"yyyyMMdd"。
比如我們需要校驗“2016-12-12”是不是當(dāng)天,就為“yyyy-MM-dd”,比如需要校驗“2016/12/12”的字符串,就為“yyyy/MM/dd”,依次類推即可。
java中使用SimpleDateFormat類的構(gòu)造函數(shù)SimpleDateFormat(String str)構(gòu)造格式化日期的格式,
通過format(Date date)方法將指定的日期對象格式化為指定格式的字符串.