大家好,又见面了,我是全栈君。
这里说的日期是指字符串的日期格式,如“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(); }
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115918.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...