Home >Java >javaTutorial >How to use the Duration function for time interval operations in Java

How to use the Duration function for time interval operations in Java

王林
王林Original
2023-06-26 15:51:113190browse

In Java, we often need to perform time interval operations. Java provides a Duration class to handle the calculation of time intervals. Duration class is one of the newly added time APIs in Java 8, which is used to calculate the time interval between two times. Next, let us learn how to use the Duration function for time interval operations.

  1. Create Duration object

To use the Duration function in Java, you first need to create a Duration object. There are two ways to create a Duration object:

The first way is to use the between() method to create a Duration object.

Instant start = Instant.now();
Instant end = Instant.now().plusSeconds(30);
Duration duration = Duration.between(start, end);

The second way is to use the of() method to create a Duration object.

Duration duration = Duration.ofMinutes(30);

Both of the above two methods can create Duration objects. The first way is to use the between() method to create a Duration object, and you need to provide two Instant objects as parameters. The Instant class is one of the newly added time APIs in Java 8. It represents a timestamp starting from January 1, 1970, with nanosecond accuracy. In the second way, when using the of() method to create a Duration object, you need to provide a time amount and the corresponding time unit as parameters.

  1. Get the time interval

After creating the Duration object, we can use toSeconds(), toMillis(), toMinutes() and other methods to get the size of the time interval.

Duration duration = Duration.ofMinutes(30);
long minutes = duration.toMinutes(); // 30
long seconds = duration.toSeconds(); // 1800
long millis = duration.toMillis();   // 180000
  1. Addition and subtraction of time intervals

We can use the plus() and minus() methods to add and subtract time intervals.

Duration duration = Duration.ofMinutes(30);
Duration plusDuration = duration.plusMinutes(10); // 加10分钟
Duration minusDuration = duration.minusMinutes(10); // 减10分钟
  1. Compare time intervals

We can use the compareTo() method to compare the size of two time intervals.

Duration duration1 = Duration.ofMinutes(30);
Duration duration2 = Duration.ofMinutes(60);
int result = duration1.compareTo(duration2);
System.out.println(result); // -1

In the above code, we first create two Duration objects, and then use the compareTo() method to compare their sizes. Since the size of duration1 is smaller than duration2, the result is -1.

  1. Formatting of time intervals

We can use the formatting method provided by the Duration class to format the time interval.

Duration duration = Duration.ofHours(3);
String formattedDuration = String.format("%d:%02d:%02d", 
             duration.toHours(),
             duration.toMinutesPart(),
             duration.toSecondsPart());
System.out.println(formattedDuration); // 3:00:00

In the above code, we first create a Duration object to represent a 3-hour time interval, and then use the toHours(), toMinutesPart() and toSecondsPart() methods to get the hours, minutes and seconds, and finally Use the String.format() method to format the time interval into the form of "hours:minutes:seconds".

The above are some basic methods of using the Duration function to perform time interval operations. Through these methods provided by the Duration class, you can easily calculate, add, subtract, compare, and format time intervals. They are a good choice for Java to deal with time interval issues.

The above is the detailed content of How to use the Duration function for time interval operations in Java. 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