LocalDateTime是 Java 8 中引入的日期时间类,用于表示不带时区的日期和时间。以下是它的一些主要用法:
一、创建LocalDateTime对象
- 使用now()方法获取当前的日期和时间:
LocalDateTime currentDateTime = LocalDateTime.now();
- 通过指定年、月、日、时、分、秒来创建:
LocalDateTime specificDateTime = LocalDateTime.of(2024, 9, 5, 15, 30, 45);
二、获取日期和时间的各个部分
- 获取年、月、日、时、分、秒等信息:
int year = currentDateTime.getYear();
Month month = currentDateTime.getMonth();
int day = currentDateTime.getDayOfMonth();
int hour = currentDateTime.getHour();
int minute = currentDateTime.getMinute();
int second = currentDateTime.getSecond();
三、日期和时间的比较
- 使用isBefore()、isAfter()方法进行比较:
LocalDateTime dateTime1 = LocalDateTime.of(2024, 9, 5, 12, 0, 0);
LocalDateTime dateTime2 = LocalDateTime.of(2024, 9, 6, 12, 0, 0);
boolean isBefore = dateTime1.isBefore(dateTime2);
boolean isAfter = dateTime1.isAfter(dateTime2);
四、日期和时间的计算
- 加上或减去一定的时间:
LocalDateTime plusHours = currentDateTime.plusHours(2);
LocalDateTime minusDays = currentDateTime.minusDays(3);
- 计算两个日期时间之间的时间差:
Duration duration = Duration.between(dateTime1, dateTime2);
long hoursBetween = duration.toHours();
五、格式化和解析
- 使用DateTimeFormatter进行格式化:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = currentDateTime.format(formatter);
- 从字符串解析为LocalDateTime:
String dateTimeStr = "2024-09-05 14:30:00";
LocalDateTime parsedDateTime = LocalDateTime.parse(dateTimeStr, formatter);