Title here
Summary here
Our Java program demonstrates various operations with dates and times using the java.time
package, which offers comprehensive support for handling time-related tasks.
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 build a ZonedDateTime by providing the
// year, month, day, etc. Times are always associated
// with a ZoneId, i.e. 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 DayOfWeek 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.isBefore(ZonedDateTime.now()));
System.out.println(then.isAfter(ZonedDateTime.now()));
System.out.println(then.isEqual(ZonedDateTime.now()));
// The Duration class represents the interval between two times.
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 this program, save it as TimeExample.java
, compile it with javac TimeExample.java
, and then run it with java TimeExample
.
This Java code demonstrates similar functionality to the original example:
Instant.now()
to get the current time.ZonedDateTime.of()
.isBefore()
, isAfter()
, and isEqual()
.Duration.between()
.plus()
and minus()
.The main differences are:
ZonedDateTime
instead of a simple time
struct.Duration
class.toHours()
instead of Hours()
.This example showcases Java’s robust date and time handling capabilities, which are part of the java.time
package introduced in Java 8.