JavaでJSTからGMTに変換する方法

JST時刻に-9時間しないといけないのかな、面倒くさいなと思っていたら、SimpleDateFormatを使えばいけるみたい。

 

JSTで取得した時間をGMTに変更して"2013/02/20 09:30"的なフォーマットで出力する。

 

public class DateHelper {

public static String convertJSTtoGMT(Date jstTime) {

  SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

  formatter.setTimeZone(TimeZone.getTimeZone("GMT"));

  return formatter.format(jstTime).toUpperCase();

}

}

使い方は、

// デフォルトのTimeZoneがJSTとする。

Calendar calendar = Calendar.getInstance();

String gmtDate = DateHelper.convertJSTtoGMT(calendar.getTime());

System.out.println(gmtDate);