Friday, October 17, 2025
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

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS