<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 `TemporalAdjusters`教程 原文:http://zetcode.com/java/temporaladjusters/ Java `TemporalAdjusters`教程展示了如何使用`TemporalAdjusters`修改 Java 中的`Temporal`對象。 時間是日期,時間和偏移對象的基本接口類型,包括`LocalDate`,`LocalTime`,`LocalDateTime`和`Instant`。 ## Java `TemporalAdjusters` `TemporalAdjusters`用于修改時間對象。 他們允許查找星期,月份或年份的第一天或最后一天; 一周的第二天或下一天,依此類推。 ## Java `TemporalAdjusters`示例 以下示例使用內置的`TemporalAdjusters`方法。 `JavaTemporalAdjustersEx.java` ```java package com.zetcode; import java.time.DayOfWeek; import java.time.LocalDate; import java.time.temporal.TemporalAdjusters; public class JavaTemporalAdjustersEx { public static void main(String[] args) { var localDate = LocalDate.now(); System.out.printf("today: %s%n", localDate); var date1 = localDate.with(TemporalAdjusters.firstDayOfMonth()); System.out.printf("first day of month: %s%n", date1); var date2 = localDate.with(TemporalAdjusters.lastDayOfMonth()); System.out.printf("last day of month: %s%n", date2); var date3 = localDate.with(TemporalAdjusters.next(DayOfWeek.MONDAY)); System.out.printf("next Monday: %s%n", date3); var date4 = localDate.with(TemporalAdjusters.firstDayOfNextMonth()); System.out.printf("first day of next month: %s%n", date4); var date5 = localDate.with(TemporalAdjusters.lastDayOfYear()); System.out.printf("last day of year: %s%n", date5); var date6 = localDate.with(TemporalAdjusters.firstDayOfYear()); System.out.printf("first day of year: %s%n", date6); var date7 = localDate.with(TemporalAdjusters.lastInMonth(DayOfWeek.SUNDAY)); System.out.printf("last Sunday of month: %s%n", date7); } } ``` 該示例介紹了七個時間調節器。 ```java var localDate = LocalDate.now(); ``` 我們使用`LocalDate.now()`計算當前本地日期。 ```java var date1 = localDate.with(TemporalAdjusters.firstDayOfMonth()); ``` 使用`firstDayOfMonth()`,我們可以找到當月的第一天。 ```java var date2 = localDate.with(TemporalAdjusters.lastDayOfMonth()); ``` 使用`lastDayOfMonth()`,我們可以找到該月的最后一天。 ```java var date3 = localDate.with(TemporalAdjusters.next(DayOfWeek.MONDAY)); ``` 使用`next()`和`DayOfWeek.MONDAY`,我們找到下一個星期一。 ```java var date4 = localDate.with(TemporalAdjusters.firstDayOfNextMonth()); ``` 使用`firstDayOfNextMonth()`,我們可以找到下個月的第一天。 ```java var date5 = localDate.with(TemporalAdjusters.lastDayOfYear()); ``` 使用`lastDayOfYear()`,我們可以找到一年中的最后一天。 ```java var date6 = localDate.with(TemporalAdjusters.firstDayOfYear()); ``` 使用`firstDayOfYear()`,可以找到一年的第一天。 ```java var date7 = localDate.with(TemporalAdjusters.lastInMonth(DayOfWeek.SUNDAY)); ``` 使用`lastInMonth()`和`DayOfWeek.SUNDAY`,我們可以找到該月的最后一個星期日。 ```java today: 2018-12-03 first day of month: 2018-12-01 last day of month: 2018-12-31 next monday: 2018-12-10 first day of next month: 2019-01-01 last day of year: 2018-12-31 first day of year: 2018-01-01 last Sunday of month: 2018-12-30 ``` 這是輸出。 ## Java 自定義`TemporalAdjuster` 我們可以創建我們的自定義時間調整器。 `JavaCustomTemporalAdjusterEx.java` ```java package com.zetcode; import java.time.LocalDate; import java.time.Period; import java.time.temporal.TemporalAdjuster; public class JavaCustomTemporalAdjusterEx { public static void main(String[] args) { var localDate = LocalDate.of(2018, 12, 3); TemporalAdjuster taj = t -> t.plus(Period.ofDays(14)); var result = localDate.with(taj); System.out.printf("Adding 14 days to %s gives %s", localDate, result); } } ``` 本示例使用`LocalDate.of()`創建日期。 它在日期上增加了 14 天并打印結果。 ```java TemporalAdjuster taj = t -> t.plus(Period.ofDays(14)); ``` 這是一個 lambda 表達式,它創建一個`TemporalAdjuster`,它向創建的日期對象增加 14 天。 ```java var result = localDate.with(taj); ``` 我們得到結果。 ```java Adding 14 days to 2018-12-03 gives 2018-12-17 ``` 這是輸出。 我們可以通過實現`TemporalAdjuster`接口來創建時間調整器。 `JavaCustomTemporalAdjusterEx2.java` ```java package com.zetcode; import java.time.LocalDate; import java.time.temporal.ChronoField; import java.time.temporal.Temporal; import java.time.temporal.TemporalAdjuster; class NextChristmas implements TemporalAdjuster { @Override public Temporal adjustInto(Temporal temporal) { return temporal.with(ChronoField.MONTH_OF_YEAR, 12) .with(ChronoField.DAY_OF_MONTH, 25); } } public class JavaCustomTemporalAdjusterEx2 { public static void main(String[] args) { var now = LocalDate.now(); System.out.println("Today: " + now); var xmas = now.with(new NextChristmas()); System.out.println("Next XMas: " + xmas); } } ``` 在示例中,自定義`TemporalAdjuster`計算下一個 XMas 的日期。 ```java @Override public Temporal adjustInto(Temporal temporal) { return temporal.with(ChronoField.MONTH_OF_YEAR, 12) .with(ChronoField.DAY_OF_MONTH, 25); } ``` 我們實現了`adjustInto()`方法,該方法返回 XMa 的`Temporal`對象,調用該方法的日期應調整為該對象。 ```java Today: 2018-12-03 Next XMas: 2018-12-25 ``` 這是輸出。 在本教程中,我們使用 Java `TemporalAdjusters`完成了日期和時間的修改。 您可能對以下相關教程感興趣: [Java 文件教程](/java/file/), [Java `LocalTime`教程](/java/localtime/), [Java 教程](/lang/java/)和 [Java Unix 時間教程](/java/unixtime)。
                  <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>

                              哎呀哎呀视频在线观看