/******************************************************************************
Online Java Compiler.
Code, Compile, Run and Debug java program online.
Write your code in this editor and press "Run" button to execute it.
*******************************************************************************/
import java.util.Date;
import java.text.*;
import java.time.*;
import java.time.format.DateTimeFormatter;
public class Main
{
public static void main(String[] args) {
Long update_time = System.currentTimeMillis();
Date date = new Date(update_time);
Format format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS z");
DateTimeFormatter f1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
ZonedDateTime dateTime = ZonedDateTime.parse( format.format(date) + " GMT", formatter);
ZoneId zone = ZoneId.of("Asia/Kolkata");
ZoneId zone1 = ZoneId.systemDefault();
ZonedDateTime dt1 = dateTime.withZoneSameInstant(zone);
//ZonedDateTime utc = ZonedDateTime.parse( format.format(date) );
System.out.println("Original time: " + format.format(date));
System.out.println("Parsed time: " + dateTime.format(formatter) );
System.out.println("Local time: " + dt1.format(formatter) );
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
try {
Date d = (Date)f.parse(dt1.format(f1));
System.out.println("Long time: " + d.getTime() );
System.out.println("System time: " + update_time );
System.out.println("Time Difference: " + (d.getTime() - update_time) ); // this remains the same if local timezone is not changed
} catch(Exception e) { System.out.println("Exception: " + e.toString() ); }
}
}