Title here
Summary here
Our Java program demonstrates various operations with dates and times using the java.time
package. Here’s the full source code:
import java.time.*;
import java.time.temporal.ChronoUnit;
public class TimeExample {
public static void main(String[] args) {
// We'll start by getting the current time.
Instant now = Instant.now();
System.out.println(now);
// You can create a ZonedDateTime by providing the year, month, day, etc.
// ZonedDateTime is always associated with a time zone.
ZonedDateTime then = ZonedDateTime.of(2009, 11, 17, 20, 34, 58, 651387237, ZoneId.of("UTC"));
System.out.println(then);
// You can extract the various components of the time value as expected.
System.out.println(then.getYear());
System.out.println(then.getMonth());
System.out.println(then.getDayOfMonth());
System.out.println(then.getHour());
System.out.println(then.getMinute());
System.out.println(then.getSecond());
System.out.println(then.getNano());
System.out.println(then.getZone());
// The Monday-Sunday day of week is also available.
System.out.println(then.getDayOfWeek());
// These methods compare two times, testing if the first occurs before,
// after, or at the same time as the second, respectively.
System.out.println(then.toInstant().isBefore(now));
System.out.println(then.toInstant().isAfter(now));
System.out.println(then.toInstant().equals(now));
// The Duration class represents the interval between two instants.
Duration diff = Duration.between(then.toInstant(), now);
System.out.println(diff);
// We can compute the length of the duration in various units.
System.out.println(diff.toHours());
System.out.println(diff.toMinutes());
System.out.println(diff.getSeconds());
System.out.println(diff.toNanos());
// You can use plus to advance a time by a given duration,
// or with minus to move backwards by a duration.
System.out.println(then.plus(diff));
System.out.println(then.minus(diff));
}
}
To run the program, compile it with javac TimeExample.java
and then run it with java TimeExample
.
This program demonstrates:
Instant.now()
.ZonedDateTime.of()
.isBefore()
, isAfter()
, and equals()
.Note that Java’s java.time
package provides a rich set of classes for working with dates, times, and durations. The Instant
class represents a point on the time-line, while ZonedDateTime
represents a date and time with a time zone. The Duration
class is used for representing a span of time.
Next, we’ll look at the related idea of time relative to the Unix epoch.