15. 新日期时间API介绍
常用日期时间的操作
新版JDK8时间日期操作-LocalDate
@Test
@DisplayName("新版JDK8时间日期操作")
public void test2(){
// 1.得到当前日期
LocalDate now = LocalDate.now();
System.out.println("now = " + now);
// 2.得到指定的时间日期
LocalDate date1 = LocalDate.of(2023, 04, 03);
System.out.println("date1 = " + date1);
// 3.根据LocalDate对象获取对应的日期信息
System.out.println("年"+now.getYear());
System.out.println("月"+now.getMonth().getValue());
System.out.println("日"+now.getDayOfMonth());
System.out.println("礼拜"+now.getDayOfWeek().getValue());
}
now = 2023-04-05
date1 = 2023-04-03
年2023
月4
日5
礼拜3
新版JDK8时间日期操作:获取当前时间-LocalTime
@Test
@DisplayName("新版JDK8时间日期操作:获取当前时间")
public void test3(){
LocalTime now = LocalTime.now();
System.out.println("now = " + now);
System.out.println("当前-时"+now.getHour());
System.out.println("当前-分"+now.getMinute());
System.out.println("当前-秒"+now.getSecond());
}
now = 21:00:59.622
当前-时21
当前-分0
当前-秒59
获取年月日时分秒-LocalDateTime
@Test
@DisplayName("获取年月日时分秒")
public void test4(){
LocalDateTime now = LocalDateTime.now();
System.out.println("now = " + now);
System.out.println("时:"+now.getHour());
}
now = 2023-04-05T21:03:50.566
年:21
时间日期的修改和比较【重要】
注意:在进行日期时间修改的时候,原来的LocalDate对象时不会被修改,每次操作都是返回了一个新的LocalDate对象,所以在多线程场景下时数据安全的。
时间日期的格式化
@Test
@DisplayName("时间日期的格式化和解析操作")
public void test5(){
LocalDateTime now = LocalDateTime.now();
// 指定格式
DateTimeFormatter isoLocalDateTime = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
// 将日期转换为字符串-系统默认
String format = now.format(isoLocalDateTime);
System.out.println("format = " + format);
// 自定义-将日期转换为字符串
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String format1 = now.format(dateTimeFormatter);
System.out.println("format1 = " + format1);
}
format = 2023-04-05T21:26:09.641
format1 = 2023-04-05 21:26:09
将字符串解析为一个日期时间类型
@Test
@DisplayName("时间日期的格式化和解析操作")
public void test5(){
LocalDateTime now = LocalDateTime.now();
// 指定格式
DateTimeFormatter isoLocalDateTime = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
// 将日期转换为字符串-系统默认
String format = now.format(isoLocalDateTime);
System.out.println("format = " + format);
// 自定义-将日期转换为字符串
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String format1 = now.format(dateTimeFormatter);
System.out.println("format1 = " + format1);
// 将字符串解析为一个日期时间类型
LocalDateTime parse = LocalDateTime.parse("1997-06-09 22:22:22",dateTimeFormatter);
System.out.println("parse = " + parse);
}
format = 2023-04-05T21:29:30.455
format1 = 2023-04-05 21:29:30
parse = 1997-06-09T22:22:22