Get GMT Time in Java

Odds are good you did the right stuff on the back end in getting the date, but there’s nothing to indicate that you didn’t take that GMT time and format it according to your machine’s current locale.

final Date currentTime = new Date();

final SimpleDateFormat sdf =
        new SimpleDateFormat("EEE, MMM d, yyyy hh:mm:ss a z");

// Give it to me in GMT time.
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println("GMT time: " + sdf.format(currentTime));

The key is to use your own DateFormat, not the system provided one. That way you can set the DateFormat’s timezone to what you wish, instead of it being set to the Locale’s timezone.

Leave a Comment