jdk1.8引入了新的日期类型,是在java.time.LocalDateTime 下的 LocalDateTime。此日期类型摆脱了以前日期加减的繁复处理。
1.用java.util.Calender来实现
Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date());
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);//让日期加1
System.out.println(calendar.get(Calendar.DATE));//加1之后的日期Top
2.用java.text.SimpleDateFormat和java.util.Date来实现
Date d=new Date();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
System.out.println("今天的日期:"+df.format(d));
System.out.println("两天前的日期:" + df.format(new Date(d.getTime() - 2 * 24 * 60 * 60 * 1000)));
System.out.println("三天后的日期:" + df.format(new Date(d.getTime() + 3 * 24 * 60 * 60 * 1000)));
以上处理都需要大量代码来实现。jdk1.8引入LocalDateTime后
1、当前日期减一天,加一天则用正数
LocalDateTime.now().toLocalDate().plusDays(-1)
年月周加减只需要把plusDays换成 plusYears、plusMonths、plusWeeks即可。
2、若是要带上时分秒,以下代码可以带上时分秒加减
LocalDateTime.now().plusDays(-1)
3、时分秒加减
LocalDateTime.now().plusHours(-1)
将小时换成分秒即可进行分秒加减