1. JDK8以前的時間日期API
1.1 java.lang.System類java
1.2 java.util.Date類sql
1.4 java.util.Calendar 日曆類安全
2 、JDK8新日期時間的API框架
2.1 、JDK8 的新日期的API線程
2.二、 LocalDate,LocalTime,LocalDateTimeorm
// LocalDate LocalTime LocalDateTime // 獲取當前時間 LocalDate localDate = LocalDate.now(); LocalTime localTime = LocalTime.now(); LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDate); System.out.println(localTime); System.out.println(localDateTime); // LocalDateTime 使用頻率較高 // of() 設置指定的年月日時分秒 體現不偏移性 LocalDateTime dateTime = LocalDateTime.of(2019, 04, 10, 23, 03); System.out.println(dateTime); // getXxx() System.out.println(dateTime.getDayOfMonth()); System.out.println(dateTime.getDayOfWeek()); System.out.println(dateTime.getMonth()); System.out.println(dateTime.getMinute()); System.out.println(dateTime.getMonthValue()); // withXxx 體現不可變性 LocalDate localDate1 = localDate.withDayOfMonth(12); System.out.println(localDate); System.out.println(localDate1); // 設置分鐘 LocalDateTime localDateTime1 = localDateTime.withMinute(20); System.out.println(localDateTime); System.out.println(localDateTime1); // plusXxx() 當前的時間作加法 LocalDate localDate2 = localDate.plusMonths(1); System.out.println(localDate); System.out.println(localDate2); // 結果 2019-04-10 23:14:42.994 2019-04-10T23:14:42.994 2019-04-10T23:03 10 WEDNESDAY APRIL 3 4 2019-04-10 2019-04-12 2019-04-10T23:14:42.994 2019-04-10T23:20:42.994 2019-04-10 2019-05-10 // 獲取本初子午線的標準時間 Instant now = Instant.now(); System.out.println(now); // 2019-04-10T15:19:51.640Z // 東八區的時間 偏移量 OffsetDateTime offsetDateTime = now.atOffset(ZoneOffset.ofHours(8)); System.out.println(offsetDateTime); // 2019-04-10T23:21:47.598+08:00 // 距離1970年1月1日0:0:0(UTC) 開始的毫秒數 long l = now.toEpochMilli(); System.out.println(l); // 根據偏移量獲取時間 Instant instant = Instant.ofEpochMilli(l); System.out.println(instant); --------------------結果------------------------ 2019-04-10T15:23:52.587Z 2019-04-10T23:23:52.587+08:00 1554909832587 2019-04-10T15:23:52.587Z // 1. 預約義的標準格式 ISO_LOCAL_DATE_TIME,ISO_LOCAL_DATE,ISO_LOCAL_TIME // 格式化日期 --- > 字符串 DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME; LocalDateTime now1 = LocalDateTime.now(); System.out.println(formatter.format(now1)); //2019-04-14T11:26:07.555 System.out.println(now1); //2019-04-14T11:26:07.555 // 字符串--->時間 TemporalAccessor parse = formatter.parse("2019-04-14T11:26:07.555"); System.out.println(parse); // 方式二 // 本地化相關格式 ofLocalizedDateTime() // FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT DateTimeFormatter dateTime2 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG); System.out.println(dateTime2.format(now1)); //2019年4月14日 上午11時30分54秒 // 方式三 自定義格式 // ofPattern("yyyy-MM-dd hh:mm:ss") -->和SimpleDateFormat類似 --------------------結果------------------------ 2019-12-25T14:26:06.05 2019-12-25T14:26:06.050 {},ISO resolved to 2019-04-14T11:26:07.555 2019年12月25日 下午02時26分06秒