タイムゾーン(GMT/JST)を指定して時刻を取得する方法

java

日本とアメリカではどれくらい時差があるのでしょうか。
日本の時刻は、JST(世界標準+9時間)です。
アメリカ(太平洋標準時)の時刻は、PST(世界標準-7時間)です。

日本とアメリカの時差は16時間となります。
今回は、他国の時刻を取得する方法(タイムゾーンを指定して時刻を取得する方法)を紹介していきます。

[スポンサーリンク]

タイムゾーンを指定して時刻を取得するソース

    /**
     * タイムゾーンを指定して時間を取得します。
     * @param args
     */
    public static void main( String[] args )
    {
        Calendar cal = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");

        // GMT(世界標準時刻)をセットする。
        TimeZone gmt = TimeZone.getTimeZone("GMT");
        cal.setTimeZone(gmt);
        System.out.println("\n"+ gmt.getDisplayName() );
        System.out.println(cal.get(cal.YEAR) + "年"
                            + (cal.get(cal.MONTH)+1) + "月"
                            + cal.get(cal.DAY_OF_MONTH) + "日 "
                            + cal.get(cal.HOUR_OF_DAY) + "時"
                            + cal.get(cal.MINUTE) + "分"
                            + cal.get(cal.SECOND) + "秒");

        // JST(日本標準時刻)をセットする。
        TimeZone jst = TimeZone.getTimeZone("JST");
        cal.setTimeZone(jst);
        System.out.println("\n"+  jst.getDisplayName() );
        System.out.println(cal.get(cal.YEAR) + "年"
                + (cal.get(cal.MONTH)+1) + "月"
                + cal.get(cal.DAY_OF_MONTH) + "日 "
                + cal.get(cal.HOUR_OF_DAY) + "時"
                + cal.get(cal.MINUTE) + "分"
                + cal.get(cal.SECOND) + "秒");

        // CTT(中国標準時刻)をセットする。
        TimeZone ctt = TimeZone.getTimeZone("CTT");
        cal.setTimeZone(ctt);
        System.out.println("\n"+  ctt.getDisplayName() );
        System.out.println(cal.get(cal.YEAR) + "年"
                + (cal.get(cal.MONTH)+1) + "月"
                + cal.get(cal.DAY_OF_MONTH) + "日 "
                + cal.get(cal.HOUR_OF_DAY) + "時"
                + cal.get(cal.MINUTE) + "分"
                + cal.get(cal.SECOND) + "秒");

    }

実行結果

>実行結果
グリニッジ標準時
2013年5月15日 16時42分9秒
日本標準時
2013年5月16日 1時42分9秒
中国標準時
2013年5月16日 0時42分9秒

解説

世界標準時刻を取得する場合は、GMTを指定します。
日本標準時刻を取得する場合は、JSTを指定します。
中国標準時刻を取得する場合は、CTTを指定します。

サンプルソースでは、3つのタイムゾーンを指定していますが、実際のタイムゾーンは細かく分かれています。
例えば、ヨーロッパはECT、エジプトはART。。。などなど

タイムゾーン関連のおすすめサイト

タイムゾーンの一覧は、こちらのサイトで確認出来ます。