Java プログラムメモ


トップ

時間の国際化

時間の国際化を行う (ニューヨークやパリの時間を知る) 場合 java.util.TimeZone を使用します。 TimeZone を DateFormatter や Calendar に設定する事により、 Asia/Tokyo と異なったタイムゾーンの時間を取得する事が可能になります。

使用可能な TimeZone の一覧

TimeZone.getAvailableIDs();
で使用可能な TimeZone の ID の一覧が取得出来ます。

時間取得例 (DateFormat使用時)

Date now = new Date(); DateFormat df = DateFormat.getDateTimeInstance(); // 東京 TimeZone tokyo = TimeZone.getTimeZone("Asia/Tokyo"); df.setTimeZone(tokyo); System.out.println(tokyo.getID() + " [" + df.format(now) + "]"); // ニューヨーク TimeZone newYork = TimeZone.getTimeZone("America/New_York"); df.setTimeZone(newYork); System.out.println(newYork.getID() + " [" + df.format(now) + "]"); // パリ TimeZone paris = TimeZone.getTimeZone("Europe/Paris"); df.setTimeZone(paris); System.out.println(paris.getID() + " [" + df.format(now) + "]");

出力結果

Asia/Tokyo [2005/01/18 13:25:37] America/New_York [2005/01/17 23:25:37] Europe/Paris [2005/01/18 5:25:37]

時間取得例 (Calendar 使用時)

Calendar cal = Calendar.getInstance(TimeZone .getTimeZone("America/New_York")); // 表示 System.out.println("年:" + cal.get(Calendar.YEAR)); System.out.println("月:" + cal.get(Calendar.MONTH) + 1); System.out.println("日:" + cal.get(Calendar.DATE)); System.out.println("時:" + cal.get(Calendar.HOUR_OF_DAY)); System.out.println("分:" + cal.get(Calendar.MINUTE)); System.out.println("秒:" + cal.get(Calendar.SECOND));

出力結果

年:2005 月:01 日:17 時:23 分:36 秒:49


プログラムメモ アフリカ雑貨・珈琲豆・アールブリュット作品 マゴソスクール クラウドファンディング
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送