Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Instant with() Method in Java with Examples

  • Last Updated : 15 Jan, 2019

In Instant class, there are two types of with() method depending upon the parameters passed to it.

with(TemporalAdjuster adjuster)

with(TemporalAdjuster adjuster) method of the Instant class used to adjusted this instant using TemporalAdjuster and after adjustment returns the copy of adjusted instant.The adjustment takes place using the specified adjuster strategy object. This instance of Instant is immutable and unaffected by this method call.

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

Syntax:

public Instant with(TemporalAdjuster adjuster)

Parameters: This method accepts adjuster as parameter which is the adjuster to use.



Return value: This method returns a Instant based on this with the adjustment made.

Exception: This method throws following Exceptions:

  • DateTimeException – if the adjustment cannot be made.
  • ArithmeticException – if numeric overflow occurs.

Below programs illustrate the with() method:
Program 1:




// Java program to demonstrate
// Instant.with() method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a Instant object
        Instant local
            = Instant.parse(
                "2018-12-30T19:34:50.63Z");
  
        // print instance
        System.out.println("Instant before"
                           + " adjustment: "
                           + local);
  
        // apply with method of Instant class
        Instant updatedlocal
            = local.with(Instant.EPOCH);
  
        // print instance
        System.out.println("Instant after"
                           + " adjustment: "
                           + updatedlocal);
    }
}
Output:
Instant before adjustment: 2018-12-30T19:34:50.630Z
Instant after adjustment: 1970-01-01T00:00:00Z

with(TemporalField field, long newValue)

with(TemporalField field, long newValue) method of the Instant class used to set the specified field of Instant to a new value and returns the copy of new time.This method can be used to change any supported field, such as year, day, month, hour, minute or second. An exception is thrown If setting the new value is not possible due to the field is not supported or for some other reason. This instance of Instant is immutable and unaffected by this method call.

Syntax:

public Instant with(TemporalField field, long newValue)

Parameters: This method accepts field which is the field to set in the result and newValue which the new value of the field in the result as parameters.

Return value: This method returns a Instant based on this with the specified field set.

Exception: This method throws following Exceptions:

  • DateTimeException – if the adjustment cannot be made.
  • UnsupportedTemporalTypeException – if the field is not supported.
  • ArithmeticException – if numeric overflow occurs.

Below programs illustrate the with() method:
Program 1:




// Java program to demonstrate
// Instant.with() method
  
import java.time.*;
import java.time.temporal.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a Instant object
        Instant local
            = Instant.parse(
                "2021-01-01T19:55:30Z");
  
        // print instance
        System.out.println("Instant before"
                           + " applying method: "
                           + local);
  
        // apply with method of Instant class
        Instant updatedlocal
            = local.with(
                ChronoField.INSTANT_SECONDS,
                45000000000);
  
        // print instance
        System.out.println("Instant after"
                           + " applying method: "
                           + updatedlocal);
    }
}
Output:
Instant before applying method: 2021-01-01T19:55:30Z
Instant after applying method: 1970-01-01T00:00:45Z

References:
https://docs.oracle.com/javase/10/docs/api/java/time/Instant.html#with(java.time.temporal.TemporalAdjuster)
https://docs.oracle.com/javase/10/docs/api/java/time/Instant.html#with(java.time.temporal.TemporalField, long)




My Personal Notes arrow_drop_up
Recommended Articles
Page :