Instant now() Method in Java with Examples

Last Updated : 9 Jan, 2026

The Instant.now() method in Java is used to obtain the current timestamp from the system clock in UTC. It belongs to the java.time.Instant class and represents a precise moment on the timeline, measured in seconds and nanoseconds from the Unix epoch (1 January 1970).

The method is commonly used for timestamps, logging, and time-based calculations, and it also provides an overloaded version that accepts a Clock for better control and testing.

Types of now() Method in Instant Class

The Instant class provides two versions of the now() method:

1. Instant.now()

The now() method returns the current instant using the system UTC clock.

Syntax

public static Instant now()

  • Parameters: This method does not take any parameter.
  • Return Value: Returns the current instant (UTC time).

Example: This program demonstrates using Instant.now() to get the current UTC timestamp, where Instant represents a precise moment on the timeline.

Java
import java.time.Instant;
public class GFG {
    public static void main(String[] args) {
        Instant currentInstant = Instant.now();
        System.out.println("Current Instant: " + currentInstant);
    }
}

Output
Current Instant: 2025-12-27T04:50:49.438530490Z

Explanation:

  • Instant.now() fetches the current instant from the system’s UTC clock.
  • The returned value is stored in currentInstant.

2. Instant.now(Clock clock)

The now(Clock clock) method returns the current instant using a specified Clock.This is useful when you want more control over time, such as during testing.

Syntax

public static Instant now(Clock clock)

  • Parameters: "clock" The clock to be used to get the current instant.
  • Return Value: Returns the current instant based on the given clock.

Example: This program shows how to use Instant.now(Clock) to get the current UTC time using a specified clock, giving better control over time retrieval.

Java
import java.time.Clock;
import java.time.Instant;
public class GFG {
    public static void main(String[] args) {
        Clock clock = Clock.systemUTC();
        Instant instant = Instant.now(clock);
        System.out.println("Current Instant: " + instant);
    }
}

Output
Current Instant: 2025-12-27T04:56:09.574067068Z

Explanation:

  • Clock.systemUTC(): creates a clock that always uses the UTC time-zone.
  • Instant.now(clock): fetches the current instant based on the provided clock instead of the system default.
  • The resulting Instant is printed, showing the current UTC timestamp.
Comment