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秒