<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Java 8 – `Period` > 原文: [https://howtodoinjava.com/java/date-time/java8-period/](https://howtodoinjava.com/java/date-time/java8-period/) 在[ ISO-8601 日歷系統](https://www.iso.org/iso-8601-date-and-time-format.html)中,使用 [Java 8](https://howtodoinjava.com/java-8-tutorial/) `Period`類,在基于日期的值(例如天,月,年,周或年)中學習查找兩個日期之間的**差異**。 ## 1\. `Period`類 `Period`類用于使用 ISO-8601 時間段格式`PnYnMnD`和`PnW`中基于日期的值來表示時間量。 例如,`P20Y2M25D`字符串代表 20 年,2 個月和 25 天。 此時間段可以通過不同方式獲得。 #### 1.1 `Period.between()` 通常,`Period`用于表示兩個日期之間的時間段(例如,兩個[`LocalDate`](https://howtodoinjava.com/java/date-time/java-time-localdate-class/)實例之間的時間段)。 ```java LocalDate startLocalDate = LocalDate.of(2020, 3, 12); LocalDate endLocalDate = LocalDate.of(2020, 7, 20); Period periodBetween = Period.between(startLocalDate, endLocalDate); System.out.println(periodBetween); // P4M8D - 4 months and 8 days System.out.println(periodBetween.getDays()); //8 System.out.println(periodBetween.getMonths()); //4 System.out.println(periodBetween.getYears()); //0 System.out.println(periodBetween.get(ChronoUnit.DAYS)); //8 ``` #### 1.2 `Period.ofDays()` `Period`分類以下方法,以不同單位表示時間段: * **`ofDays(int days)`** – 表示天數的時間段。 * **`ofMonths(int months)`** – 表示月數的時間段。 * **`ofWeeks(int weeks)`** – 表示周數的時間段。 * **`ofYears(int years)`** – 表示年數的時間段。 ```java Period fromDays = Period.ofDays(150); // 150 days Period fromMonths = Period.ofMonths(4); // 4 months Period fromYears = Period.ofYears(10); // 10 years Period fromWeeks = Period.ofWeeks(15); // 15 weeks ``` #### 1.3 `Period.of()` 使用`of(int years, int months, int days)`,我們可以獲得基于年,月和日的實例。 ```java //20 years, 3 months and 20 days Period periodFromUnits = Period.of(20, 3, 20); ``` #### 1.4 `Period.parse()` 可以從包含 ISO-8601 時間段格式的`String`中獲得`Period`。 ```java //20 years, 3 months and 20 days Period periodFromString1 = Period.parse("P20Y3M20D"); //365 Days Period periodFromString2 = Period.parse("P365D"); //52 Weeks Period periodFromString3 = Period.parse("P52W"); ``` ## 2\. 獲取`Period`值 時間段值可以通過獲取器方法獲得: * **`Period.getDays()`** - 獲取此時間段的天數。 * **`Period.getMonths()`** - 獲取此時間段的月數。 * **`Period.getYears()`** - 獲取此時間段的年數。 * **`Period.get(TemporalUnit unit)`** - 獲取所請求單位的值。 請注意,支持的單位是`YEARS, MONTHS, DAYS`。 所有其他單元都拋出`UnsupportedTemporalTypeException`。 ```java LocalDate startLocalDate = LocalDate.of(2020, 3, 12); LocalDate endLocalDate = LocalDate.of(2020, 7, 20); Period periodBetween = Period.between(startLocalDate, endLocalDate); System.out.println(periodBetween.getDays()); //8 System.out.println(periodBetween.getMonths()); //4 System.out.println(periodBetween.getYears()); //0 System.out.println(periodBetween.get(ChronoUnit.DAYS)); //8 //Throws UnsupportedTemporalTypeException System.out.println(periodBetween.get(ChronoUnit.WEEKS)); ``` ## 3\. 修改`Period` 我們可以從給定的`Period`對象中添加或減去一段時間。 支持加減法的方法有: * **`add(Period)`** – 返回給定時間段的副本,其中添加了指定的時間段。 * **`plusYears()`** – 返回給定時間段的副本,其中添加了指定的年份。 * **`plusMonths()`** – 返回給定時間段的副本,其中添加了指定的月份。 * **`plusDays()`** – 返回給定時間段的副本,其中添加了指定的日期。 * **`minus(period)`**-返回給定時間段的副本,減去指定時間段。 * **`minusYears()`**-返回給定時間段的副本,其中減去指定的年份。 * **`minusMonths()`** – 返回給定時間段的副本,其中減去指定的月份。 * **`minusDays()`** – 返回給定時間段的副本,其中減去指定天數。 * **`multipliedBy(scalar)`** – 返回一個新實例,該實例中的每個元素都乘以指定的標量。 ```java Period period = Period.ofDays(5); Period periodDaysAdded = period.plus(5); Period periodPlus1Year = period.plusYears(1L); ``` 在評論中向我發送有關將 Java 8 時間段用于日期差異的問題和建議。 學習愉快! [下載源碼](https://github.com/lokeshgupta1981/Core-Java/tree/master/src/com/howtodoinjava/core/datetime)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看