📜  java.time.LocalDateTime类(1)

📅  最后修改于: 2023-12-03 15:16:02.842000             🧑  作者: Mango

Java时间类 - java.time.LocalDateTime

LocalDateTime类是Java 8中提供的时间日期处理类,它能够表示本地日期和时间,但是不包含时区和时间信息,可以用于存储和处理无时区的日期和时间数据。该类提供了众多方法来处理日期时间,同时也可以将其转换为其他日期时间类。

创建LocalDateTime对象

在创建LocalDateTime对象时,可以使用now()方法创建当前日期时间,或者使用of()方法创建指定的日期时间。以下是一些示例:

// 创建当前日期时间
LocalDateTime now = LocalDateTime.now();

// 创建指定日期时间
LocalDateTime dateTime = LocalDateTime.of(2021, Month.JULY, 7, 8, 30, 0);
日期时间的格式化

LocalDateTime类有一个format()方法,用于将日期时间格式化为指定的字符串格式。可以使用DateTimeFormatter类来定义日期时间格式模式,如下所示:

// 格式化日期时间
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = now.format(formatter);
日期时间的计算

使用LocalDateTime类可以进行日期时间的基本计算,例如加上或减去一定的时间间隔:

// 加上2天和3小时
LocalDateTime calculatedDateTime = now.plusDays(2).plusHours(3);
日期时间的比较

LocalDateTime类具有比较日期时间的方法,例如isBefore()isAfter()isEqual()方法。以下是一个示例:

LocalDateTime dateTime1 = LocalDateTime.of(2021, Month.JULY, 7, 8, 30, 0);
LocalDateTime dateTime2 = LocalDateTime.of(2021, Month.JULY, 8, 8, 30, 0);

if (dateTime1.isBefore(dateTime2)) {
    System.out.println("dateTime1 is before dateTime2");
}
转换为其他日期时间类

LocalDateTime类可以轻松地转换为其他日期时间类,例如ZonedDateTimeLocalDateLocalTime。以下是一些示例:

// 转换为ZonedDateTime
ZonedDateTime zoned = now.atZone(ZoneId.systemDefault());

// 转换为LocalDate和LocalTime
LocalDate localDate = now.toLocalDate();
LocalTime localTime = now.toLocalTime();
总结

LocalDateTime类是Java 8中用于处理本地日期时间的类,它提供了众多方法来处理日期时间,并且可以轻松地进行格式化、计算、比较和转换。在处理本地日期时间时,LocalDateTime类是非常实用的工具。