Java Data Type How to - Create Date and Time with timezone offset in Java 8








Question

We would like to know how to create Date and Time with timezone offset in Java 8.

Answer

import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
public class Main {
  public static void main(String[] argv) {
    ZoneId INDIA = ZoneId.of("Asia/Kolkata");
    /* www.j  a v  a 2  s. co m*/
    
    LocalDateTime datetime = LocalDateTime.now();
    ZoneOffset offset = ZoneOffset.of("+05:30");
    OffsetDateTime date = OffsetDateTime.of(datetime, offset);

    System.out.println("OffsetDateTime.now() = " + OffsetDateTime.now());
    System.out.println("OffsetDateTime.now(TimeZone.INDIA) = " + OffsetDateTime.now(INDIA));
    System.out.println("Date and Time: " + datetime);
    System.out.println("Date and Time with timezone offset: " + date);
  }
}

The code above generates the following result.