【Java】Java中的常见日期对象

类名 说明
java.util.Date 这是Java早期版本中的主要日期类,尽管现在已经被java.time包中的类所取代,但在一些旧代码库中仍然可以看到它的身影
java.util.Calendar 这是一个抽象类,提供了操作日历字段如年、月、日、时、分、秒的方法。Calendar类本身不能直接实例化,而是通过调用其静态方法getInstance()来获取一个特定子类的实例,如GregorianCalendar

java.time.LocalDate

仅包含日期,Java8及以后版本的特性。这是Java8引入的一个全新的日期和时间API,目的是替代 java.util.Date 和 java.util.Calendar
java.time.LocalTime 仅包含时间,Java8及以后版本的特性。这是Java8引入的一个全新的日期和时间API,目的是替代 java.util.Date 和 java.util.Calendar 。
java.time.LocalDateTime 包含日期和时间,Java8及以后版本的特性。这是Java8引入的一个全新的日期和时间API,目的是替代 java.util.Date 和 java.util.Calendar 。
java.time.ZonedDate 包含时区信息,日期时间等,Java8及以后版本的特性。这是Java8引入的一个全新的日期和时间API,目的是替代 java.util.Date 和 java.util.Calendar 。
java.time.instant Java8新特性。时刻,不直接对应年月日信息,需要通过时区转换。
 java.time.Period  Java8新特性,表示日期之间的差
 java.time.Duration Java8新特性,表示时间差,用时分秒等表示
 java.time.DateTimeFormatter java8新特性,用于日期和时间的格式化及字符串解析
// 1. java.util.Date
Date date = new Date();
System.out.println(date);       // Thu Dec 26 10:42:38 CST 2024
// 2. java.util.Calendar
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime()); // Thu Dec 26 10:46:05 CST 2024
// 3. java.time.LocalDate (仅包含日期)
LocalDate localDate = LocalDate.now();
System.out.println(localDate);      // 2024-12-26
// 4. java.time.LocalTime (仅包含时间)
LocalTime localTime = LocalTime.now();
System.out.println(localTime);      // 10:50:57.348067500
// 5. java.time.localDateTime (包含日期和实际)
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime);  // 2024-12-26T10:51:52.963638100
// 6.java.time.ZonedDateTime(包含时区信息和日期时间)
ZonedDateTime zonedDateTime = ZonedDateTime.now();
System.out.println(zonedDateTime);  // 2024-12-26T10:53:23.081457900+08:00[Asia/Shanghai]
// 7 java.time.instant 表示时刻,不直接对应年月日信息,需要通过时区转换。
Instant instant = Instant.now();
System.out.println(instant);    // 2024-12-26T03:01:37.407491300Z
posted @ 2024-12-26 11:06  陆陆无为而治者  阅读(7)  评论(0编辑  收藏  举报