{"id":1130,"date":"2022-10-24T22:48:21","date_gmt":"2022-10-24T14:48:21","guid":{"rendered":"https:\/\/qaqaq.top\/?p=1130"},"modified":"2022-11-27T12:39:49","modified_gmt":"2022-11-27T04:39:49","slug":"%e5%b8%b8%e7%94%a8%e7%b1%bb-jdk8%e4%b8%ad%e6%97%a5%e6%9c%9f%e6%97%b6%e9%97%b4api%e7%9a%84%e4%bb%8b%e7%bb%8d%e3%80%81localdate%e3%80%81localtime%e3%80%81localdatetime%e7%9a%84%e4%bd%bf%e7%94%a8","status":"publish","type":"post","link":"https:\/\/qaqaq.top\/?p=1130","title":{"rendered":"\u5e38\u7528\u7c7b-JDK8\u4e2d\u65e5\u671f\u65f6\u95f4API\u7684\u4ecb\u7ecd\u3001LocalDate\u3001LocalTime\u3001LocalDateTime\u7684\u4f7f\u7528\u3001Instant\u7c7b\u7684\u4f7f\u7528\u3001DateTimeFormatter\u7684\u4f7f\u7528"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>package top.qaqaq.java.P484;\r\n\r\nimport org.junit.jupiter.api.Test;\r\n\r\nimport java.time.*;\r\nimport java.time.format.DateTimeFormatter;\r\nimport java.time.format.FormatStyle;\r\nimport java.time.temporal.TemporalAccessor;\r\nimport java.util.Date;\r\n\r\n\/**\r\n * jdk 8\u4e2d\u65e5\u671f\u65f6\u95f4API\u7684\u6d4b\u8bd5\r\n *\r\n * @author RichieZhang\r\n * @create 2022-10-23 \u4e0b\u5348 6:29\r\n *\/\r\npublic class JDK8DateTimeTest {\r\n\r\n    @Test\r\n    public void testDate(){\r\n        \/\/\u504f\u79fb\u91cf\r\n        Date date1 = new Date(2020 - 1900,9 - 1,8);\r\n        System.out.println(date1);\/\/Fri Oct 08 00:00:00 CST 3920\r\n\r\n    }\r\n\r\n    \/*\r\n    LocalDate\u3001LocalTime\u3001LocalDateTime \u7684\u4f7f\u7528\r\n    \u8bf4\u660e\uff1a\r\n        1.LocalDateTime\u76f8\u8f83\u4e8eLocalDate\u3001LocalTime\uff0c\u4f7f\u7528\u9891\u7387\u8981\u9ad8\r\n        2.\u7c7b\u4f3c\u4e8eCalendar\r\n     *\/\r\n\r\n    @Test\r\n    public void test1(){\r\n        \/\/now():\u83b7\u53d6\u5f53\u524d\u7684\u65e5\u671f\u3001\u65f6\u95f4\u3001\u65e5\u671f+\u65f6\u95f4\r\n        LocalDate localDate = LocalDate.now();\r\n        LocalTime localTime = LocalTime.now();\r\n        LocalDateTime localDateTime = LocalDateTime.now();\r\n\r\n        System.out.println(localDate);\r\n        System.out.println(localTime);\r\n        System.out.println(localDateTime);\r\n\r\n        \/\/of():\u8bbe\u7f6e\u6307\u5b9a\u7684\u5e74\u3001\u6708\u3001\u65e5\u3001\u65f6\u3001\u5206\u3001\u79d2\u3002\u6ca1\u6709\u504f\u79fb\u91cf\r\n        LocalDateTime localDateTime1 = LocalDateTime.of(2020, 10, 6, 13, 23, 43);\r\n        System.out.println(localDateTime1);\r\n\r\n        \/\/getXxx():\u83b7\u53d6\u76f8\u5173\u7684\u5c5e\u6027\r\n        System.out.println(localDateTime.getDayOfMonth());\r\n        System.out.println(localDateTime.getDayOfWeek());\r\n        System.out.println(localDateTime.getMonth());\r\n        System.out.println(localDateTime.getMonthValue());\r\n        System.out.println(localDateTime.getMinute());\r\n\r\n        \/\/\u4f53\u73b0\u4e0d\u53ef\u53d8\u6027\r\n        \/\/withXxx():\u8bbe\u7f6e\u76f8\u5173\u7684\u5c5e\u6027\r\n        LocalDate localDate1 = localDate.withDayOfMonth(22);\r\n        System.out.println(localDate);\r\n        System.out.println(localDate1);\r\n\r\n        LocalDateTime localDateTime2 = localDateTime.withHour(4);\r\n        System.out.println(localDateTime);\r\n        System.out.println(localDateTime2);\r\n\r\n        \/\/\u4e0d\u53ef\u53d8\u6027\r\n        LocalDateTime localDateTime3 = localDateTime.plusMonths(3);\r\n        System.out.println(localDateTime);\r\n        System.out.println(localDateTime3);\r\n\r\n        LocalDateTime localDateTime4 = localDateTime.minusDays(6);\r\n        System.out.println(localDateTime);\r\n        System.out.println(localDateTime4);\r\n\r\n    }\r\n\r\n    \/*\r\n    Instant\u7684\u4f7f\u7528\r\n    \u7c7b\u4f3c\u4e8ejava.util.Date\u7c7b\r\n\r\n     *\/\r\n\r\n    @Test\r\n    public void test2(){\r\n        \/\/now():\u83b7\u53d6\u672c\u521d\u5b50\u5348\u7ebf\u5bf9\u5e94\u7684\u6807\u51c6\u65f6\u95f4\r\n        Instant instant = Instant.now();\r\n        System.out.println(instant);\/\/2022-10-23T12:03:17.131720600Z\r\n\r\n        \/\/\u6dfb\u52a0\u65f6\u95f4\u7684\u504f\u79fb\u91cf\r\n        OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8));\r\n        System.out.println(offsetDateTime);\/\/2022-10-23T20:07:45.921329100+08:00\r\n\r\n        \/\/toEpochMilli():\u83b7\u53d6\u81ea1970\u5e741\u67081\u65e50\u65f60\u52060\u79d2\uff08UTC\uff09\u5f00\u59cb\u7684\u6beb\u79d2\u6570 ---> Date\u7c7b\u7684getTime()\r\n        long milli = instant.toEpochMilli();\r\n        System.out.println(milli);\r\n\r\n        \/\/ofEpochMilli():\u901a\u8fc7\u7ed9\u5b9a\u7684\u6beb\u79d2\u6570\uff0c\u83b7\u53d6Instant\u5b9e\u4f8b -->Date(Long millis)\r\n        Instant instant1 = Instant.ofEpochMilli(1666527178786L);\r\n        System.out.println(instant1);\r\n\r\n    }\r\n\r\n    \/*\r\n    DateTimeFormatter:\u683c\u5f0f\u5316\u6216\u89e3\u6790\u65e5\u671f\u3001\u65f6\u95f4\r\n    \u7c7b\u4f3c\u4e8eSimpleDateFormat\r\n\r\n     *\/\r\n\r\n    @Test\r\n    public void test3(){\r\n\/\/        \u65b9\u5f0f\u4e00\uff1a\u9884\u5b9a\u4e49\u7684\u6807\u51c6\u683c\u5f0f\u3002\u5982\uff1aISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME\r\n        DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;\r\n        \/\/\u683c\u5f0f\u5316: \u65e5\u671f-->\u5b57\u7b26\u4e32\r\n        LocalDateTime localDateTime = LocalDateTime.now();\r\n        String str1 = formatter.format(localDateTime);\r\n        System.out.println(localDateTime);\r\n        System.out.println(str1);\r\n\r\n        \/\/\u89e3\u6790\uff1a\u5b57\u7b26\u4e32 --> \u65e5\u671f\r\n        TemporalAccessor parse = formatter.parse(\"2022-10-23T20:26:44.3284694\");\r\n        System.out.println(parse);\r\n\r\n\/\/        \u65b9\u5f0f\u4e8c\uff1a\r\n\/\/        \u672c\u5730\u5316\u76f8\u5173\u7684\u683c\u5f0f\u3002\u5982\uff1aofLocalizedDateTime()\r\n\/\/        FormatStyle.LONG \/ FormatStyle.MEDIUM \/ FormatStyle.SHORT :\u9002\u7528\u4e8eLocalDateTime\r\n        DateTimeFormatter formatter1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);\r\n\r\n\/\/        \u5728\u5b66\u4e60\u5eb7\u5e08\u5085\u7684JAVA\u89c6\u9891\u4e2d\uff0c\u53d1\u73b0DateTimeFormatter\u5728\u9ad8\u7248\u672cJDK\uff08\u6bd4\u5982\uff1a\u4f7f\u7528JDK14\uff09\u4f1a\u62a5\u9519\r\n\/\/        \u5728\u9ad8\u7248\u672cJDK\uff08\u6bd4\u5982JDK14\uff09\uff0c\u9700\u8981\u6dfb\u52a0.withZone(ZoneId.systemDefault())\r\n\/\/        DateTimeFormatter formatter1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG).withZone(ZoneId.systemDefault());\r\n\r\n        \/\/\u683c\u5f0f\u5316\r\n        String str2 = formatter1.format(localDateTime);\r\n        System.out.println(str2);\/\/2022\/10\/23 \u4e0b\u53488:41   2022\u5e7410\u670823\u65e5 CST \u4e0b\u53488:42:26\r\n\r\n\/\/        \u672c\u5730\u5316\u76f8\u5173\u7684\u683c\u5f0f\u3002\u5982\uff1aofLocalizedDate()\r\n\/\/        FormatStyle.FULL \/ FormatStyle.LONG \/ FormatStyle.MEDIUM \/ FormatStyle.SHORT : \u9002\u7528\u4e8eLocalDate\r\n        DateTimeFormatter formatter2 = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);\r\n        \/\/\u683c\u5f0f\u5316\r\n        String str3 = formatter2.format(LocalDate.now());\r\n        System.out.println(str3);\/\/2022\u5e7410\u670823\u65e5\r\n\r\n\/\/        \u91cd\u70b9\uff1a\u65b9\u5f0f\u4e09\uff1a\u81ea\u5b9a\u4e49\u7684\u683c\u5f0f\u3002\u5982\uff1aofPattern(\u201cyyyy-MM-dd hh:mm:ss\u201d)\r\n        DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern(\"yyyy-MM-dd hh:mm:ss\");\r\n\r\n        \/\/\u683c\u5f0f\u5316\r\n        String str4 = formatter3.format(localDateTime.now());\r\n        System.out.println(str4);\/\/2022-10-23 08:50:26\r\n\r\n        \/\/\u89e3\u6790\r\n        TemporalAccessor accessor = formatter3.parse(\"2022-10-23 08:50:26\");\r\n        System.out.println(accessor);\r\n\r\n    }\r\n}\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[46],"class_list":["post-1130","post","type-post","status-publish","format-standard","hentry","category-java-code","tag-java"],"_links":{"self":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1130"}],"collection":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1130"}],"version-history":[{"count":1,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1130\/revisions"}],"predecessor-version":[{"id":1131,"href":"https:\/\/qaqaq.top\/index.php?rest_route=\/wp\/v2\/posts\/1130\/revisions\/1131"}],"wp:attachment":[{"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qaqaq.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}