Java8 新增了处理时间的一组类(LocalDate、LocalDateTime、LocalTime),功能挺强大的,推荐使用
Date与LocalDate的互转:
Date转LocalDate:
Date date = new Date();
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate 转 Date:
LocalDateTime localDateTime = LocalDateTime.now();
Date date = Date.from(localDateTime.toInstant(ZoneOffset.UTC))
LocalDate部分方法
DateTimeFormatter ymd = DateTimeFormatter.ofPattern("yyyy-MM-dd");
//字符串转换成LocalDate类型
LocalDate ld = LocalDate.parse("2015-11-23", ymd);
System.out.println("年月日:"+ld.getYear()+"-"+ld.getMonthValue()+"-"+ld.getDayOfMonth());
System.oot.println("从1970年1月1日开始的总天数:"+ld.toEpochDay());
ld = LocalDate.of(2015,11,25);
System.out.println("新年月日:"+ld.getYear()+"-"+ld.getMonthValue()+"-"+ld.getDayOfMonth());
ld = ld.plusDays(1);
System.out.println("加一天年月日:"+ld.getYear()+"-"+ld.getMonthValue()+"-"+ld.getDayOfMonth());
ld = ld.minusDays(2);
System.out.println("减两天年月日:"+ld.getYear()+"-"+ld.getMonthValue()+"-"+ld.getDayOfMonth());
ld = ld.plusMonths(1);
System.out.println("加一个月年月日:"+ld.getYear()+"-"+ld.getMonthValue()+"-"+ld.getDayOfMonth());
ld = ld.minusMonths(1);
System.out.println("减一个月年月日:"+ld.getYear()+"-"+ld.getMonthValue()+"-"+ld.getDayOfMonth());
LocalDate futureDate = LocalDate.now().plusMonths(1); //加一个月
ld.plusWeeks(1);//加一星期
ld.plusYears(1);//加一年
ld.minusWeeks(1);//减一星期
ld.minusYears(1);//减一年