//LocalDateTime轉String
LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter fmt24 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String dateStr24 = dateTime.format(fmt24);
System.out.println("LocalDateTime轉String[pattern](24小時制):"+dateStr24)
//localDateTime轉localDate
localDate = dateTime.toLocalDate()
//獲取當前時間本月的第一天和最后一天時間
public static final String MinTime = "T00:00:00";
public static final String MaxTime = "T23:59:59.999999999";
/**
* 本月的開始時間
* @param today 當前時間
* @param isFirst [true 表示開始時間,false表示結束時間]
*/
public static LocalDateTime getStartOrEndDayOfMonth(LocalDate today, Boolean isFirst){
String time = MinTime;
Month month = today.getMonth();
int length = month.length(today.isLeapYear());
if (isFirst) {
today = LocalDate.of(today.getYear(), month, 1);
} else {
today = LocalDate.of(today.getYear(), month, length);
time = MaxTime;
}
return LocalDateTime.parse(today.toString() + time);
}
//獲取當前時間的上個月或下個月時間
LocalDateTime lastDateTime = dateTime.minus(1,ChronoUnit.MONTHS);
LocalDateTime lastDateTime = dateTime.plus(1,ChronoUnit.MONTHS);
//將LocalDateTime轉化為年月
String date = LocalDateTime.now().getYear()+String.format("%02d", LocalDateTime.now().getMonthValue());
"%02d":month格式化為至少2位十進制整數
例如:月份為5,輸出"05";月份為11,輸出"11"
//date和localDateTime互轉
date -> localDateTime:
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.now();
ZonedDateTime zdt = localDateTime.atZone(zoneId);
Date date = Date.from(zdt.toInstant());
localDateTime -> date
LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault())