/**
* java8 新特性 日期
* 旧的: Date非线程安全的。API设计的比较乱。
* java8:
* java.time包下:
* LocalDate : 年月日
* LocaLDateTime: 年月日时间
* LocatTime: 时间
*/
@Test
public void test10() {
LocalDate date = LocalDate.now();
System.out.println("当前日期:" + date);
// 获取 年月日,周几
System.out.println("年:" + date.getYear());
System.out.println("月:" + date.getMonth());
System.out.println("月(数字):" + date.getMonthValue());
System.out.println("日:" + date.getDayOfMonth());
System.out.println("星期:" + date.getDayOfWeek());
// 去年 明年
LocalDate date1 = date.plusYears(2);
System.out.println("加2: " + date1.getYear());
LocalDate date2 = date.plusYears(-3);
System.out.println("减3: " + date2.getYear());
LocalDate date3 = date.plusMonths(1);
System.out.println("月份+1:" + date3.getMonthValue());
// 日期比较
boolean after = date1.isAfter(date);
System.out.println(after);
boolean before = date2.isBefore(date);
System.out.println(before);
// LocaLDateTime
LocalDateTime dateTime = LocalDateTime.now();
System.out.println(dateTime);
// DateTimeFormatter LocalDateTime类转化字符串
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String dateTimeStr = dtf.format(dateTime);
System.out.println(dateTimeStr);
// 字符串转化成LocalDateTime LocalDate LocalTime
LocalDateTime.parse(dateTimeStr,dtf);
LocalDate.parse(dateTimeStr,dtf);
LocalTime.parse(dateTimeStr,dtf);
// 日期时间差计算类 java.time.Duration
LocalDateTime today = LocalDateTime.now();
System.out.println("today:" + today);
// 2021-2-12 0:0:0
LocalDateTime datenew = LocalDateTime.of(2021, 2, 12, 0,0,0);
// 日期差
Duration dur = Duration.between(today, datenew);
// 相差的天数
System.out.println(dur.toDays());
System.out.println(dur.toHours());
System.out.println(dur.toMillis());
System.out.println(dur.toNanos());
}
java8 新特性- 日期类的使用
最新推荐文章于 2023-04-13 09:55:18 发布