UTC、GMT、JSTや各国の時刻表示サンプル

世界協定時 ( UTC )、世界標準時 ( GMT )、 日本標準時 ( JST ) や各国の時刻表示サンプル

Home > サンプル集 > Javaサンプル集 > いろいろな国の時刻


いろいろな国の時刻

このページには、以下のサンプルを掲載しています。 下の項目をクリックをすると各サンプルにジャンプします。 ※2週間以内の新着記事はNewアイコン、更新記事はUpアイコンが表示されます。
  1. UTC時刻の表示 ( TimeZoneSample01.java )  
  2. GMTとJSTの表示( TimeZoneSample02.java )  
  3. いろんな国の時刻( TimeZoneSample03.java )  

1. UTC時刻の表示

UTCと言うのは、協定世界時のことで、Universal Time, Coordinatedの略です。
[ サンプルプログラムのソースコード - TimeZoneSample01.java - ]
  1. import java.util.Calendar;
  2. import java.util.TimeZone;
  3. public class TimeZoneSample01 {
  4.   public static void main(String[] args) {
  5.     TimeZone tz = TimeZone.getTimeZone("UTC");
  6.     Calendar cal = Calendar.getInstance(tz);
  7.     System.out.println(
  8.         tz.getID() + 
  9.         tz.getDisplayName() + 
  10.         String.format("%1$tY/%1$tm/%1$td %1$TH:%1$TM:%1$TS",cal));
  11.     
  12.    }
  13. }

[ サンプルプログラムの実行結果 ]
UTC ( 協定世界時 ) 2011/02/09 13:57:41

[ サンプルプログラムの解説 ]
UTC ( 協定世界時 ) の時刻を取得するには、まずUTCのタイムゾーンを表す TimeZoneオブジェクトを取得します。 UTCのTimeZoneオブジェクトを取得するには、Java標準APIの TimeZoneクラスのstaticメソッドgetTimeZoneに文字列UTCを引数として渡してあげます。(8行目)
得られたTimeZoneのオブジェクトを引数としてCalendarクラスのgetInstanceメソッドに 渡してあげるとUTCの時刻が得られます。(9行目)
10行目〜13行目でUTCのタイムゾーンオブジェクトから生成したCalendarオブジェクトを整形して表示しています。
11行目のtz.getID()でタイムゾーンオブジェクトのID(ここではUTC)を12行目では、タイムゾーンオブジェクトの表示名を表示しています。 12行目のタイムゾーンオブジェクトの表示名は、デフォルトロケールの言語(ここでは、日本語)で表示されます。 getDisplayName(Locale.ENGLISH)のように英語のロケールを引数として渡してあげれば英語で表示されます。



2. GMTとJSTの表示

グリニッジ標準時と日本標準時も表示してみます。
[ サンプルプログラムのソースコード - TimeZoneSample02.java - ]
  1. import java.util.Calendar;
  2. import java.util.TimeZone;
  3. public class TimeZoneSample02 {
  4.   public static void main(String[] args) {
  5.     
  6.     TimeZone tz = TimeZone.getTimeZone("GMT");
  7.     Calendar cal = Calendar.getInstance(tz);
  8.     System.out.println(
  9.         tz.getID() + " ( " +
  10.         tz.getDisplayName() + " ) " + 
  11.         String.format("%1$tY/%1$tm/%1$td %1$TH:%1$TM:%1$TS",cal));
  12.     
  13.     tz = TimeZone.getTimeZone("JST");
  14.     cal = Calendar.getInstance(TimeZone.getTimeZone("JST"));
  15.     System.out.println(
  16.         tz.getID() + " ( " +
  17.         tz.getDisplayName() + " ) " + 
  18.         String.format("%1$tY/%1$tm/%1$td %1$TH:%1$TM:%1$TS",cal));
  19.   }
  20. }

[ サンプルプログラムの実行結果 ]
GMT ( グリニッジ標準時 ) 2011/02/09 14:19:49
JST ( 日本標準時 ) 2011/02/09 23:19:49

[ サンプルプログラムの解説 ]
やってることは、「UTC時刻の表示」のサンプルと変わりません。タイムゾーンオブジェクトの生成時に渡すIDを グリニッジ標準時の場合は、「GMT」を日本標準時の場合は、「JST」にしてあげれば、それぞれの時刻を得ることが出来ます。



3. いろんな国の時刻

他の国の時刻も表示してみましょう。
[ サンプルプログラムのソースコード - TimeZoneSample03.java - ]
  1. import java.util.Calendar;
  2. import java.util.TimeZone;
  3. public class TimeZoneSample03 {
  4.   public static void main(String[] args) {
  5.     for ( String id : TimeZone.getAvailableIDs()){
  6.       Calendar cal = Calendar.getInstance(TimeZone.getTimeZone(id));
  7.       System.out.println(
  8.           id + " ( " +
  9.           TimeZone.getTimeZone(id).getDisplayName() + " ) " 
  10.           + String.format("%1$tY/%1$tm/%1$td %1$TH:%1$TM:%1$TS",cal));
  11.     }
  12.    
  13.   }
  14. }

[ サンプルプログラムの実行結果 ]
ちょっと出力行数が多いので途中省略しています。(^^;
興味のある人は、上のサンプルをご自身の環境で実行してみてください。
Etc/GMT+12 ( GMT-12:00 ) 2011/02/09 02:27:07
Etc/GMT+11 ( GMT-11:00 ) 2011/02/09 03:27:07
MIT ( 西サモア時間 ) 2011/02/09 04:27:07
Pacific/Apia ( 西サモア時間 ) 2011/02/09 04:27:07
Pacific/Midway ( サモア標準時 ) 2011/02/09 03:27:07

〜中略〜

Pacific/Chatham ( チャタム標準時 ) 2011/02/10 04:12:11
Etc/GMT-13 ( GMT+13:00 ) 2011/02/10 03:27:11
Pacific/Enderbury ( フェニックス諸島時間 ) 2011/02/10 03:27:11
Pacific/Tongatapu ( トンガ時間 ) 2011/02/10 03:27:11
Etc/GMT-14 ( GMT+14:00 ) 2011/02/10 04:27:11
Pacific/Kiritimati ( ライン諸島時間 ) 2011/02/10 04:27:11

[ サンプルプログラムの解説 ]
やってることは、前述の2つのサンプルと同じですが、8行目のTimeZone.getAvailableIDs()で実行環境で利用可能な全てのタイムゾーンを取得しています。
実行すると実行環境で利用可能な全てのタイムゾーンの実行時の時刻が表示されます。




最終更新日:2019/02/13

2015-03-01からの訪問者数
  5533 人