📅  最后修改于: 2023-12-03 15:16:02.842000             🧑  作者: Mango
LocalDateTime
类是Java 8中提供的时间日期处理类,它能够表示本地日期和时间,但是不包含时区和时间信息,可以用于存储和处理无时区的日期和时间数据。该类提供了众多方法来处理日期时间,同时也可以将其转换为其他日期时间类。
在创建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
类可以轻松地转换为其他日期时间类,例如ZonedDateTime
、LocalDate
和LocalTime
。以下是一些示例:
// 转换为ZonedDateTime
ZonedDateTime zoned = now.atZone(ZoneId.systemDefault());
// 转换为LocalDate和LocalTime
LocalDate localDate = now.toLocalDate();
LocalTime localTime = now.toLocalTime();
LocalDateTime
类是Java 8中用于处理本地日期时间的类,它提供了众多方法来处理日期时间,并且可以轻松地进行格式化、计算、比较和转换。在处理本地日期时间时,LocalDateTime
类是非常实用的工具。