Open In App

OffsetDateTime withNano() method in Java with examples

Last Updated : 17 Dec, 2018
Improve
Improve
Like Article
Like
Save
Share
Report

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)



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads