時刻の書式設定(時、分、秒、2桁表示、1桁表示などさ

時刻のさまざまな表現形式に関するJavaプログラムのサンプル集です。

Home > サンプル集 > Javaサンプル集 > 時刻の文字列フォーマット変換


時刻の文字列フォーマット変換

このページには、以下のサンプルを掲載しています。 下の項目をクリックをすると各サンプルにジャンプします。 ※2週間以内の新着記事はNewアイコン、更新記事はUpアイコンが表示されます。
  1. 時の表示 ( TimeFormatSample01.java )  
  2. 分の表示 ( TimeFormatSample02.java )  
  3. 秒の表示 ( TimeFormatSample03.java )  
  4. ミリ秒の表示 ( TimeFormatSample04.java )  
  5. ナノ秒の表示 ( TimeFormatSample05.java )  
  6. 午前、午後の表示 ( TimeFormatSample06 )  
  7. タイムゾーン ( TimeFormatSample07.java )  
  8. 1970/1/1 00:00:00からの経過時間 ( TimeFormatSample08.java )  
  9. 時刻書式の桁揃え ( TimeFormatSample09.java )  

1. 時の表示

[ サンプルプログラムのソースコード - TimeFormatSample01.java - ]
  1. import java.util.Calendar;
  2. public class TimeFormatSample01 {
  3.   public static void main(String[] args) {
  4.     Calendar cal = Calendar.getInstance();
  5.     cal.set(Calendar.HOUR, 3);
  6.     System.out.println(String.format("時の表示(24時間制・2桁):%1$TH",cal));
  7.     System.out.println(String.format("時の表示(12時間制・2桁):%1$TI",cal));
  8.     System.out.println(String.format("時の表示(24時間制):%1$Tk",cal));
  9.     System.out.println(String.format("時の表示(12時間制):%1$Tl",cal));
  10.     cal.set(Calendar.HOUR, 15);
  11.     System.out.println(String.format("時の表示(24時間制・2桁):%1$TH",cal));
  12.     System.out.println(String.format("時の表示(12時間制・2桁):%1$TI",cal));
  13.     System.out.println(String.format("時の表示(24時間制):%1$Tk",cal));
  14.     System.out.println(String.format("時の表示(12時間制):%1$Tl",cal));
  15.   }
  16. }
[ サンプルプログラムの実行結果 ]

時の表示(24時間制・2桁):03
時の表示(12時間制・2桁):03
時の表示(24時間制):3
時の表示(12時間制):3
時の表示(24時間制・2桁):15
時の表示(12時間制・2桁):03
時の表示(24時間制):15
時の表示(12時間制):3
[ サンプルプログラムの解説 ]
時の書式指定です。「H」(10、15行目)は24時間制の時刻を2桁の数字で表現します。 必要に応じて先頭に0が追加されます。「I」(11、16行目)は12時間制の時刻を2桁の数字で表現します。 こちらも必要に応じて先頭に0が追加されます。「k」(12、17行目)は24時間制の時刻の書式となります。 「l」は12時間制の時刻の書式となります。


2. 分の表示

[ サンプルプログラムのソースコード - TimeFormatSample02.java - ]
  1. package sample.sample4;
  2. import java.util.Calendar;
  3. public class TimeFormatSample02 {
  4.   public static void main(String[] args) {
  5.     Calendar cal = Calendar.getInstance();
  6.     cal.set(Calendar.MINUTE, 5);
  7.     System.out.println(String.format("分の表示:%1$TM",cal));
  8.     cal.set(Calendar.MINUTE, 32);
  9.     System.out.println(String.format("分の表示:%1$TM",cal));
  10.    }
  11. }
[ サンプルプログラムの実行結果 ]

分の表示:05
分の表示:32
[ サンプルプログラムの解説 ]
分の書式指定です。「M」は、分を2桁の数字で表現します。必要に応じて先頭に0が追加されます。


3. 秒の表示

[ サンプルプログラムのソースコード - TimeFormatSample03.java - ]
  1. package sample.sample4;
  2. import java.util.Calendar;
  3. public class TimeFormatSample03 {
  4.   public static void main(String[] args) {
  5.     Calendar cal = Calendar.getInstance();
  6.     cal.set(Calendar.SECOND, 3);
  7.     System.out.println(String.format("秒の表示:%1$TS",cal));
  8.     cal.set(Calendar.SECOND, 21);
  9.     System.out.println(String.format("秒の表示:%1$TS",cal));
  10.    }
  11. }
[ サンプルプログラムの実行結果 ]

秒の表示:03
秒の表示:21
[ サンプルプログラムの解説 ]
秒の書式指定です。「S」は、秒を2桁の数字で表現します。必要に応じて先頭に0が追加されます。


4. ミリ秒の表示

[ サンプルプログラムのソースコード - TimeFormatSample04.java - ]
  1. import java.util.Calendar;
  2. public class TimeFormatSample04 {
  3.   public static void main(String[] args) {
  4.     Calendar cal = Calendar.getInstance();
  5.     cal.set(Calendar.MILLISECOND, 3);
  6.     System.out.println(String.format("ミリ秒の表示:%1$TL",cal));
  7.     cal.set(Calendar.MILLISECOND, 21);
  8.     System.out.println(String.format("ミリ秒の表示:%1$TL",cal));
  9.     cal.set(Calendar.MILLISECOND, 123);
  10.     System.out.println(String.format("ミリ秒の表示:%1$TL",cal));
  11.    }
  12. }
[ サンプルプログラムの実行結果 ]

ミリ秒の表示:003
ミリ秒の表示:021
ミリ秒の表示:123
[ サンプルプログラムの解説 ]
ミリ秒の書式指定です。「L」は、ミリ秒を3桁の数字で表現します。必要に応じて先頭に0を追加します。


5. ナノ秒の表示

[ サンプルプログラムのソースコード - TimeFormatSample05.java - ]
  1. import java.util.Calendar;
  2. public class TimeFormatSample05 {
  3.   public static void main(String[] args) {
  4.     Calendar cal = Calendar.getInstance();
  5.     System.out.println(String.format("ナノ秒の表示:%1$TN",cal));
  6.   }
  7. }
[ サンプルプログラムの実行結果 ]

ナノ秒の表示:731000000
[ サンプルプログラムの解説 ]
ナノ秒の書式指定です。「N」は、ナノ秒を9桁の数字で表現します。必要に応じて先頭に0を追加します。


6. 午前、午後の表示

[ サンプルプログラムのソースコード - TimeFormatSample06.java - ]
  1. import java.util.Calendar;
  2. import java.util.Locale;
  3. public class TimeFormatSample06 {
  4.   public static void main(String[] args) {
  5.     Calendar cal = Calendar.getInstance();
  6.     cal.set(Calendar.HOUR_OF_DAY, 6);
  7.     System.out.println(String.format("午前、午後の表示(デフォルト):%1$Tp",cal));
  8.     System.out.println(String.format(Locale.ENGLISH, "午前、午後の表示(英語):%1$Tp",cal));
  9.     System.out.println(String.format(Locale.CHINESE, "午前、午後の表示(中国語):%1$Tp",cal));
  10.     cal.set(Calendar.HOUR_OF_DAY, 18);
  11.     System.out.println(String.format("午前、午後の表示:%1$Tp",cal));
  12.     System.out.println(String.format(Locale.ENGLISH,"午前、午後の表示(英語):%1$Tp",cal));
  13.     System.out.println(String.format(Locale.CHINESE,"午前、午後の表示(中国語):%1$Tp",cal));
  14.   }
  15. }
[ サンプルプログラムの実行結果 ]

午前、午後の表示(デフォルト):午前
午前、午後の表示(英語):AM
午前、午後の表示(中国語):上午
午前、午後の表示:午後
午前、午後の表示(英語):PM
午前、午後の表示(中国語):下午
[ サンプルプログラムの解説 ]
午前、午後の書式指定です。「p」で午前または午後の表示をします。ロケールによって表示が異なります。ロケールが日本の場合は、午前または午後と表示されます。英語の場合は、「AM」または、「PM」。中国語の場合は、「上戸」または、「下戸」と表示されます。


7. タイムゾーン

[ サンプルプログラムのソースコード - TimeFormatSample07.java - ]
  1. import java.util.Calendar;
  2. public class TimeFormatSample07 {
  3.   public static void main(String[] args) {
  4.     Calendar cal = Calendar.getInstance();
  5.     System.out.println(String.format("タイムゾーン:%1$Tz",cal));
  6.     System.out.println(String.format("タイムゾーン:%1$TZ",cal));
  7.   }
  8. }
[ サンプルプログラムの実行結果 ]

タイムゾーン:+0900
タイムゾーン:JST
[ サンプルプログラムの解説 ]
時刻の書式指定「z」(9行目)は、GMT(世界標準時)からのオフセットを設定します。日本の場合は、+0900となります。 「Z」(10行目)は、タイムゾーンの省略形を設定します。日本の場合は、JSTとなります。


8. 1970/1/1 00:00:00からの経過時間

[ サンプルプログラムのソースコード - TimeFormatSample08.java - ]
  1. import java.util.Calendar;
  2. public class TimeFormatSample08 {
  3.   public static void main(String[] args) {
  4.     Calendar cal = Calendar.getInstance();
  5.     System.out.println(String.format("1970/1/1 00:00:00 UTC からの秒数:%1$Ts",cal));
  6.     System.out.println(String.format("1970/1/1 00:00:00 UTC からのミリ秒:%1$TQ",cal));
  7.   }
  8. }
[ サンプルプログラムの実行結果 ]

1970/1/1 00:00:00 UTC からの秒数:1222439895
1970/1/1 00:00:00 UTC からのミリ秒:1222439895076
[ サンプルプログラムの解説 ]
書式指定「s」は、1970/1/1 00:00:00 UTC からの経過秒数を表します。 「Q」は、1970/1/1 00:00:00 UTC からのミリ秒を表します。


9. 時刻書式の桁揃え

[ サンプルプログラムのソースコード - TimeFormatSample09.java - ]
  1. import java.util.Calendar;
  2. import java.util.Locale;
  3. import java.util.TimeZone;
  4. public class TimeFormatSample09 {
  5.   public static void main(String[] args) {
  6.     Calendar cal = Calendar.getInstance();
  7.     System.out.println(String.format("%1$-5TH時%1$-5TM分",cal));
  8.     System.out.println(String.format("%1$5TH時%1$5TM分",cal));
  9.   }
  10. }
[ サンプルプログラムの実行結果 ]
23   時01   分
   23時   01分
[ サンプルプログラムの解説 ]
時刻の書式指定では、桁数、左揃えの指定が出来ます。9行目赤字の「-」の部分で左揃えの指定をしています。 「-」の後ろの数字は、最小桁数の指定です。上記の例では、最小桁数を5桁に指定しています。 桁数が足りない場合は、空白で埋められます。10行目は左揃えの指定はしていないので右揃えで表示されています。




最終更新日:2019/02/13

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