LocalTime : 只包括時間
LocalDate : 只包括日期
LocalDateTime : 包括日期和時間
JDBC映射
LocalTime 對應 time
LocalDate 對應 date
LocalDateTime 對應 timestamp
以下測試代碼
簡直好用到爆
public class TimeTest {
@Test
public void testTime() {
LocalDateTime time = LocalDateTime.now();
System.out.println(time.toString()); //字符串表示
System.out.println(time.toLocalTime()); //獲取時間(LocalTime)
System.out.println(time.toLocalDate()); //獲取日期(LocalDate)
System.out.println(time.getDayOfMonth()); //獲取當前時間月份的第幾天
System.out.println(time.getDayOfWeek()); //獲取當前周的第幾天
System.out.println(time.getDayOfYear()); //獲取當前時間在該年屬於第幾天
System.out.println(time.getHour());
System.out.println(time.getMinute());
System.out.println(time.getMonthValue());
System.out.println(time.getMonth());
System.out.println("-----------------------------------");
//格式化輸出
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("YYYY/MM/dd HH:mm:ss");
System.out.println(time.format(formatter));
//構造時間
LocalDateTime startTime = LocalDateTime.of(2018, 1, 1, 20, 31, 20);
LocalDateTime endTime = LocalDateTime.of(2018, 1, 3, 20, 31, 20);
//比較時間
System.out.println(time.isAfter(startTime));
System.out.println(time.isBefore(endTime));
//時間運算,相加相減
System.out.println(time.plusYears(2)); //加2年
System.out.println(time.plusDays(2)); //加兩天
System.out.println(time.minusYears(2)); //減兩年
System.out.println(time.minusDays(2)); //減兩天
//獲取毫秒數(使用Instant)
System.out.println(time.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());
//獲取秒數(使用Instant)
System.out.println(time.atZone(ZoneId.systemDefault()).toInstant().getEpochSecond());
}
}
