一、LocalDate、LocalTime、LocalDateTime 和常用API
1、LocalDate
public void test01(){ //1.创建指定的日期 LocalDate date1 = LocalDate.of(2021,05,06); System.out .println( "date1 = "+date1); //2.得到当前的日期 LocalDate now = LocalDate .now(); System.out.println("now = "+now); // 3.根据LocalDate对象获取对应的日期信息 System.out.println("年:" + now.getYear()); System.out.println("月:" + now.getMonth().getValue()); System.out.println("日:" + now.getDayOfMonth()); System.out.println("星期:" + now.getDayOfWeek().getValue()); }
执行结果:
date1 = 2021-05-06 now = 2023-02-18 年:2023 月:2 日:18 星期:6
2、LocalTime
public void test02(){ //1、得到指定时间 LocalTime time = LocalTime.of(5, 26, 33, 2323); System.out.println("指定时间:"+time); //2、获取当前的时间 LocalTime now = LocalTime.now(); System.out.println("当前时间:"+now); //3、获取时间信息 System.out.println("时"+now.getHour()); System.out.println("分"+now.getMinute()); System.out.println("秒"+now.getSecond()); System.out.println("纳秒"+now.getNano()); }
执行结果
指定时间:05:26:33.000002323 当前时间:17:12:48.909 时17 分12 秒48 纳秒909000000
3、LocalDateTimepublic void test03(){
//获取指定日期时间 LocalDateTime dateTime = LocalDateTime.of(2023, 01, 01, 12, 12, 33, 1213); System.out.println("指定日期时间:"+dateTime); //获取当前的日期时间 LocalDateTime now = LocalDateTime.now(); System.out.println("当前日期时间:"+now); //获取日期时间信息 System.out.println("年:" + now.getYear()); System.out.println("月:" + now.getMonth().getValue()); System.out.println("日:" + now.getDayOfMonth()); System.out.println("星期:" + now.getDayOfWeek().getValue()); System.out.println("时"+now.getHour()); System.out.println("分"+now.getMinute()); System.out.println("秒"+now.getSecond()); System.out.println("纳秒"+now.getNano());
}
执行结果
指定日期时间:2023-01-01T12:12:33.000001213 当前日期时间:2023-02-18T17:14:30.547 年:2023 月:2 日:18 星期:6 时17 分14 秒30 纳秒547000000
4、日期的加减和比较(isBefore、isAfter、isEqual、compareTo)
省略......
二、DateTimeFormatter日期时间格式化
public void test01(){ LocalDateTime now = LocalDateTime.now(); // format 日期类型转换为日期字符串(使用系统默认格式) DateTimeFormatter isoLocalDateTime = DateTimeFormatter.ISO_LOCAL_DATE_TIME; String format = now.format(isoLocalDateTime); System.out.println(format); // format 日期类型转换为日期字符串(使用指定格式) DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String format1 = now.format(formatter); System.out.println(format1); // parse 日期字符串转换为日期类型(使用默认格式) LocalDateTime parse2 = LocalDateTime.parse("2023-02-18T17:25:48.267", DateTimeFormatter.ISO_LOCAL_DATE_TIME); System.out.println(parse2); // parse 日期字符串转换为日期类型(使用指定格式) LocalDateTime parse = LocalDateTime.parse("1995-04-05 22:33:22", formatter); System.out.println(parse); }
执行结果:
2023-02-18T17:30:03.752 2023-02-18 17:30:03 2023-02-18T17:25:48.267 1995-04-05T22:33:22
三、ZonedDate、ZonedTime、zonedDateTime
LocalDate、LocalTime、LocalDateTime是不带时区的。 带时区的日期时间类分别为: ZonedDate、ZonedTime、zonedDateTime。其中每个时区都对应着ID,
ID的格式为“区域/城市”。例如︰ Asia/Shanghai等。
摘自:https://blog.csdn.net/weixin_41979002/article/details/129101910
- DateTimeFormatter LocalDateTime ZonedDateTime LocatDate LocalTimedatetimeformatter localdatetime zoneddatetime datetimeformatter zoneddatetime常用instant datetimeformatter localdatetime javaimprove localdatetime chronounit localdate localtime localdatetime zonedatetime localdate localtime localdatetime localdate localtime jdk1 localdatetime localtime localdate大全 localdatetime localdate localtime时间 locatdate zoneddatetime