LocalDateTime是Java 8中引入的日期時間類,用于表示一個不可修改的日期時間對象,不包含時區信息。
LocalDateTime類的用法如下:
創建LocalDateTime對象:
LocalDateTime now = LocalDateTime.now(); // 獲取當前日期時間
LocalDateTime specificDateTime = LocalDateTime.of(2021, 12, 31, 23, 59, 59); // 創建指定日期時間
LocalDateTime parsedDateTime = LocalDateTime.parse("2021-12-31T23:59:59"); // 解析字符串為日期時間
獲取日期時間的各個部分:
int year = now.getYear();
Month month = now.getMonth();
int dayOfMonth = now.getDayOfMonth();
int hour = now.getHour();
int minute = now.getMinute();
int second = now.getSecond();
修改日期時間的各個部分:
LocalDateTime modifiedDateTime = now.withYear(2022).withMonth(1).withDayOfMonth(1); // 修改年、月、日
LocalDateTime plusDateTime = now.plusDays(1).plusHours(2); // 增加1天2小時
LocalDateTime minusDateTime = now.minusMonths(1).minusMinutes(30); // 減去1個月30分鐘
比較日期時間的先后關系:
boolean isAfter = now.isAfter(specificDateTime); // 判斷是否在指定日期時間之后
boolean isBefore = now.isBefore(specificDateTime); // 判斷是否在指定日期時間之前
格式化日期時間為字符串:
String formattedDateTime = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); // 格式化為指定格式的字符串
其他常用方法:
LocalDateTime truncatedDateTime = now.truncatedTo(ChronoUnit.HOURS); // 截斷到小時
LocalDateTime startOfDay = now.toLocalDate().atStartOfDay(); // 獲取當天的開始時間
注意:LocalDateTime類是不可變的,任何修改操作都會返回一個新的對象。