这里说的日期是指字符串的日期格式,如“2014-10-15”,我们要判断这个日期是否在今天之前,网上看到好多判断的方法,都是拿这个日期转换成Date对象 然后与new Date()比较,使用comparetTo() 或者before()方法,其实这样做都会有点小问题,这样做忽略了一个小时分钟的比较,会出现错误,得不到正确的结果。
如果要得到正确的结果,应该将当前时间new Date() 转换成“yyyy-MM-dd”的格式,然后在将两者转换成date进行判断,代码如下:
java.util.Date nowdate = new java.util.Date(); String date = DateUtils.formatDate(nowdate, "yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA); Date d; try { d = sdf.parse(dateFormat); int flag = d.compareTo(DateUtils .formatDateFromeString(date)); if (flag >= 0) {//当天及当天之后,<0就是在日期之前 } } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }
时间: 2024-10-08 14:32:01