Saturday, April 14, 2012

How to convert local time to GMT in Java Program Example tutorial code

Converting local time into GMT or any other timezone in Java is easy as Java has support for time zones. JDK has a class called java.util.Timezone which represents timezone and Java also has classes like SimpleDateFormat which can use Time zone while parsing or formatting dates. By using java.uti.TimeZone and java.text.SimpleDateFormat we can write simple Java program to convert local time to GMT or any other time zone in Java. We have already seen example of How to get current date and time in GMT and this Java program is extension of that in order to convert time form one timezone to other timezone.

This article is in continuation of my previous basic Java tutorials like How to convert Double to String in Java , How to convert char to String in Java and how to write hashcode in Java. If you haven’t read them already you may find them useful.

Java program to convert local time to GMT or other Timezone

Java program to convert local time into GMT or other timezone
Here is complete code example of converting local time into GMT timezone. As I said you can convert local time to any other timezone by just setting current timezone for SimpleDateFormat as shown in this example. By the way beware while using SimpleDateFormat in multi-threading environment as SimpleDateFormat in Java is not thread safe.

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;

 * Simple Java program to convert local time into GMT or any other TimeZone in Java
 * SimpleDateFormat in Java can be used to convert Date from one timezone to other
 * @author Javin

public class TimeZoneConverter {

    public static void main(String args[]) {
     //Date will return local time in Java  
     Date localTime = new Date();
     //creating DateFormat for converting time from local timezone to GMT
     DateFormat converter = new SimpleDateFormat("dd/MM/yyyy:HH:mm:ss");
     //getting GMT timezone, you can get any timezone e.g. UTC
     System.out.println("local time : " + localTime);;
     System.out.println("time in GMT : " + converter.format(localTime));

local time : Wed Apr 11 05:48:16 VET 2012
time in GMT : 11/04/2012:10:18:16

That's all on how to convert local time into GMT or any other timezone in Java like UTC or EDT etc. while converting time form one timezone to another just keep an eye on day light saving as some Timezone falls under day light time saving zone.

Further Reading
Java Fundamentals, Part 1 and 2
Core Java For the Impatient - Covers Java SE 8
Java Fundamentals: The Java Language

Other Java Programming tutorials

1 comment :

harryjoy said...

AFAIK, new Date() instance in java is already timestamp in UTC(GMT). But when you print date, it prints in your machines local timezone else it is already in UTC.

Post a Comment