Home  >  Article  >  Java  >  Use the new Duration class and TemporalAdjuster interface in Java 11 to handle time intervals and date adjustments

Use the new Duration class and TemporalAdjuster interface in Java 11 to handle time intervals and date adjustments

WBOY
WBOYOriginal
2023-07-31 17:17:001191browse

Use the new Duration class and TemporalAdjuster interface in Java 11 to handle time intervals and date adjustments

In development, dealing with time and date are very common tasks. Java 11 introduces the new Duration class and TemporalAdjuster interface, making processing time intervals and date adjustments more convenient and flexible. This article explains how to use these two new features.

The Duration class is used to represent the time interval between two points in time. Compared with the old Date class and Calendar class, the Duration class is more concise and easier to use. The following is a sample code using the Duration class:

import java.time.Duration;
import java.time.LocalTime;

public class DurationExample {
    public static void main(String[] args) {
        LocalTime startTime = LocalTime.parse("08:30:00");
        LocalTime endTime = LocalTime.parse("12:00:00");

        Duration duration = Duration.between(startTime, endTime);

        long hours = duration.toHours();
        long minutes = duration.toMinutes() % 60;

        System.out.println("Duration: " + hours + " hours " + minutes + " minutes");
    }
}

In the above code, we created two LocalTime objects to represent the start time and end time. Then use the Duration.between() method to calculate the time interval between two time points. Finally, get the hours and minutes values ​​through the toHours() and toMinutes() methods. The output is "Duration: 3 hours 30 minutes".

In addition to calculating time intervals, the Duration class also provides other useful methods, such as addition, subtraction, and comparison. You can choose the appropriate method according to your needs.

Another new feature is the TemporalAdjuster interface. This interface is used to adjust the date, such as adjusting the date to the next working day, the first day of the next month, etc. The following is a sample code using the TemporalAdjuster interface:

import java.time.LocalDate;
import java.time.DayOfWeek;
import java.time.temporal.TemporalAdjusters;

public class TemporalAdjusterExample {
    public static void main(String[] args) {
        LocalDate date = LocalDate.now();

        LocalDate nextWorkingDay = date.with(TemporalAdjusters.next(DayOfWeek.MONDAY));

        System.out.println("Next working day: " + nextWorkingDay);
    }
}

In the above code, we use the LocalDate.now() method to obtain the current date. Then use the with() method and the TemporalAdjusters.next() method to adjust the date to the next Monday. The output result is "Next working day: 2021-09-13".

The TemporalAdjuster interface also provides other useful static methods, such as previous(), lastDayOfMonth(), etc. You can choose the appropriate method according to your needs.

Summary:
The new Duration class and TemporalAdjuster interface in Java 11 provide new functions for handling time intervals and date adjustments, making development more convenient and flexible. You can choose the appropriate method according to your needs. Hope this article is helpful to you.

The above is the detailed content of Use the new Duration class and TemporalAdjuster interface in Java 11 to handle time intervals and date adjustments. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn