注意:要先将日期转换为字符串类型toString()一下 // 比较最大日期与当前日期 String maxDate = "1990-01-01" Date date = new Date(); DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String nowDate = format.format(date); if (maxDate.compareTo(nowDate) > 0) { System.out.println("最大日期大于当前日期"); } else if(maxDate.compareTo(nowDate) < 0) { System.out.println("最大日期小与当前日期"); } else { System.out.println("最大日期等于当前日期"); } if (maxDate.compareTo(nowDate) >= 0) { System.out.println("最大日期大于等于当前日期"); }
注意:要讲字符串转换为日期类型parse()一下 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Date bt=sdf.parse(beginTime); Date et=sdf.parse(endTime); if (bt.before(et)){ System.out.println("表示bt小于et "); }else{ System.out.println("表示bt大于et "); } Date1.after(Date2) //当Date1大于Date2时,返回TRUE,当小于等于时,返回false; //即当Date2日期比Date1小时候为true,否则为false Date1.before(Date2) //当Date1小于Date2时,返回TRUE,当大于等于时,返回false;
java获取指定日期的前一天,之前的一些工具类,可以正常获取某个日期的前一天,但是如果是1号的前一天,就容易出错,最后终于找到了一个合适的工具类!
/** * 获取指定日期的前n天 * @author wangz * @param specifiedDay,n * @return */ public static String getBeforeDay(String specifiedDay,int n) { Calendar c = Calendar.getInstance(); Date date = null; try { date = new SimpleDateFormat("yyyy-MM-dd").parse(specifiedDay); } catch (ParseException e) { e.printStackTrace(); } c.setTime(date); int day = c.get(Calendar.DATE); c.set(Calendar.DATE, day + n); String dayBefore = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); return dayBefore; }