Sunday, February 1, 2026
HomeLanguagesJavaOffsetDateTime withNano() method in Java with examples

OffsetDateTime withNano() method in Java with examples

The withNano() method of OffsetDateTime class in Java returns a copy of this OffsetDateTime with the nano-of-second altered as specified in the parameter.

Syntax:

public OffsetDateTime withNano(int nanoOfSecond)

Parameter: This method accepts a single parameter nanaOfSecond which specifies the nano-of-second to be set in the result which can range from 0 to 999, 999, 999..

Return Value: It returns a OffsetDateTime based on this date with the requested nano-of-second and not null.

Exceptions: The program throws a DateTimeException when the nano-of-second value is invalid.

Below programs illustrate the withNano() method:

Program 1:




// Java program to demonstrate the withNano() method
  
import java.time.OffsetDateTime;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // Parses the date1
        OffsetDateTime date1
            = OffsetDateTime
                  .parse(
                      "2018-12-12T13:30:30+05:00");
  
        // Prints dates
        System.out.println("Date1: " + date1);
  
        // Changes the nano-of-second
        System.out.println("Date1 after altering nano-of-second: "
                           + date1.withNano(1000));
    }
}


Output:

Date1: 2018-12-12T13:30:30+05:00
Date1 after altering nano-of-second: 2018-12-12T13:30:30.000001+05:00

Program 2:




// Java program to demonstrate the withNano() method
  
import java.time.OffsetDateTime;
  
public class GFG {
    public static void main(String[] args)
    {
  
        try {
  
            // Parses the date1
            OffsetDateTime date1
                = OffsetDateTime
                      .parse(
                          "2018-12-12T13:30:30+05:00");
  
            // Prints dates
            System.out.println("Date1: " + date1);
  
            // Changes the nano-of-second
            System.out.println("Date1 after altering nano-of-second: "
                               + date1.withNano(1000000000));
        }
        catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}


Output:

Date1: 2018-12-12T13:30:30+05:00
Exception: java.time.DateTimeException: 
           Invalid value for NanoOfSecond (valid values 0 - 999999999): 1000000000

Reference: https://docs.oracle.com/javase/10/docs/api/java/time/OffsetDateTime.html#withNano(int)

RELATED ARTICLES

1 COMMENT

Most Popular

Dominic
32478 POSTS0 COMMENTS
Milvus
123 POSTS0 COMMENTS
Nango Kala
6849 POSTS0 COMMENTS
Nicole Veronica
11978 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12066 POSTS0 COMMENTS
Shaida Kate Naidoo
6987 POSTS0 COMMENTS
Ted Musemwa
7222 POSTS0 COMMENTS
Thapelo Manthata
6934 POSTS0 COMMENTS
Umr Jansen
6917 POSTS0 COMMENTS