<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 兩個日期之間的差異 > 原文: [https://howtodoinjava.com/java/date-time/calculate-difference-between-two-dates-in-java/](https://howtodoinjava.com/java/date-time/calculate-difference-between-two-dates-in-java/) Java 示例**計算 Java 8** 中兩個日期之間的差。 首先,我們將學習使用甚至在 Java 8 發行之前就可用的 [Jodatime API](http://www.joda.org/joda-time/) 計算差異。 如果您仍未使用 Java 8,那么 JodaTime 應該是您的首選。 后 3 種方法使用的是 Java 8 以來可用的新的日期時間 API 特性。 ## 1\. JodaTime – 兩個日期之間的差異(Java 8 之前) #### Maven ```java <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.10</version> </dependency> ``` #### 示例 大家都更喜歡可讀性,我建議使用 [**Jodatime**](http://www.joda.org/joda-time/) 庫(實際上啟發了 [Java 8 日期/時間 API](https://howtodoinjava.com/java8/date-and-time-api-changes-in-java-8-lambda/))。 例如: ```java public void difference_between_two_dates_duration_Joda() { DateTime dateOfBirth = new DateTime(1988, 7, 4, 0, 0, GregorianChronology.getInstance()); DateTime currentDate = new DateTime(); Days diffInDays = Days.daysBetween(dateOfBirth, currentDate); Hours diffInHours = Hours.hoursBetween(dateOfBirth, currentDate); Minutes diffInMinutes = Minutes.minutesBetween(dateOfBirth, currentDate); Seconds seconds = Seconds.secondsBetween(dateOfBirth, currentDate); } ``` ## 2\. Java 8 – 兩個日期之間的差異 Java `Date`一直缺乏足夠的支持來有效地表達日期和時間段。 Java 8 首次嘗試升級此日期/時間 API。 如果您在項目中使用 Java 8,則一定要使用以下兩種方法之一來計算兩個日期之間的日期/時間差。 #### 2.1 `java.time.Period`示例,以了解日/月/年的差異 Java 程序使用`Period`類獲取在兩天之間的**差異**。 ```java LocalDate endofCentury = LocalDate.of(2014, 01, 01); LocalDate now = LocalDate.now(); Period diff = Period.between(endofCentury, now); System.out.printf("Difference is %d years, %d months and %d days old", diff.getYears(), diff.getMonths(), diff.getDays()); ``` #### 2.2 `java.time.temporal.ChronoUnit`示例,以了解日/月/年的差異 Java 程序使用`ChronoUnit`類來獲取兩個月之間的日期之間的**差異**。 ```java public void difference_between_two_dates_java8() { LocalDate dateOfBirth = LocalDate.of(1980, Month.JULY, 4); LocalDate currentDate = LocalDate.now(); long diffInDays = ChronoUnit.DAYS.between(dateOfBirth, currentDate); long diffInMonths = ChronoUnit.MONTHS.between(dateOfBirth, currentDate); long diffInYears = ChronoUnit.YEARS.between(dateOfBirth, currentDate); } ``` 您可以使用`ChronoUnit`了解較小時間單位中的差異,例如**毫秒**,**分鐘**等。但是在這種情況下,您將不得不使用`LocalDateTime`代替在第一個示例中使用的`LocalDate`。 ```java public void difference_between_two_dates_duration() { LocalDateTime dateTime = LocalDateTime.of(1988, 7, 4, 0, 0); LocalDateTime dateTime2 = LocalDateTime.now(); long diffInNano = ChronoUnit.NANOS.between(dateTime, dateTime2); long diffInSeconds = ChronoUnit.SECONDS.between(dateTime, dateTime2); long diffInMilli = ChronoUnit.MILLIS.between(dateTime, dateTime2); long diffInMinutes = ChronoUnit.MINUTES.between(dateTime, dateTime2); long diffInHours = ChronoUnit.HOURS.between(dateTime, dateTime2); } ``` #### 2.3 `java.time.Duration`示例了解毫秒/秒/分鐘等的差異 Java 程序使用`Duration`類來獲取以毫秒為單位的兩個日期之間的**差**。 ```java public void difference_between_two_dates_duration() { LocalDateTime dateTime = LocalDateTime.of(1988, 7, 4, 0, 0); LocalDateTime dateTime2 = LocalDateTime.now(); int diffInNano = java.time.Duration.between(dateTime, dateTime2).getNano(); long diffInSeconds = java.time.Duration.between(dateTime, dateTime2).getSeconds(); long diffInMilli = java.time.Duration.between(dateTime, dateTime2).toMillis(); long diffInMinutes = java.time.Duration.between(dateTime, dateTime2).toMinutes(); long diffInHours = java.time.Duration.between(dateTime, dateTime2).toHours(); } ``` 最重要的是,這三種方式都具有足夠的可讀性和靈活性,可以知道多個時間單位之間的日期差異。 可以隨意在用例中使用以上程序,**以計算 Java** 中兩個日期之間的天數。 學習愉快!
                  <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>

                              哎呀哎呀视频在线观看