Home > サンプル集 > Javaサンプル集 > 時刻の文字列フォーマット変換
時刻の文字列フォーマット変換
このページには、以下のサンプルを掲載しています。
下の項目をクリックをすると各サンプルにジャンプします。
※2週間以内の新着記事はNewアイコン、更新記事はUpアイコンが表示されます。
- 時の表示 ( TimeFormatSample01.java )
- 分の表示 ( TimeFormatSample02.java )
- 秒の表示 ( TimeFormatSample03.java )
- ミリ秒の表示 ( TimeFormatSample04.java )
- ナノ秒の表示 ( TimeFormatSample05.java )
- 午前、午後の表示 ( TimeFormatSample06 )
- タイムゾーン ( TimeFormatSample07.java )
- 1970/1/1 00:00:00からの経過時間 ( TimeFormatSample08.java )
- 時刻書式の桁揃え ( TimeFormatSample09.java )
1. 時の表示
[ サンプルプログラムのソースコード - TimeFormatSample01.java - ]
- import java.util.Calendar;
- public class TimeFormatSample01 {
- public static void main(String[] args) {
- Calendar cal = Calendar.getInstance();
- cal.set(Calendar.HOUR, 3);
- System.out.println(String.format("時の表示(24時間制・2桁):%1$TH",cal));
- System.out.println(String.format("時の表示(12時間制・2桁):%1$TI",cal));
- System.out.println(String.format("時の表示(24時間制):%1$Tk",cal));
- System.out.println(String.format("時の表示(12時間制):%1$Tl",cal));
- cal.set(Calendar.HOUR, 15);
- System.out.println(String.format("時の表示(24時間制・2桁):%1$TH",cal));
- System.out.println(String.format("時の表示(12時間制・2桁):%1$TI",cal));
- System.out.println(String.format("時の表示(24時間制):%1$Tk",cal));
- System.out.println(String.format("時の表示(12時間制):%1$Tl",cal));
- }
- }
|
[ サンプルプログラムの実行結果 ]
時の表示(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 - ]
- package sample.sample4;
- import java.util.Calendar;
- public class TimeFormatSample02 {
- public static void main(String[] args) {
- Calendar cal = Calendar.getInstance();
- cal.set(Calendar.MINUTE, 5);
- System.out.println(String.format("分の表示:%1$TM",cal));
- cal.set(Calendar.MINUTE, 32);
- System.out.println(String.format("分の表示:%1$TM",cal));
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ サンプルプログラムの解説 ]
分の書式指定です。「M」は、分を2桁の数字で表現します。必要に応じて先頭に0が追加されます。
3. 秒の表示
[ サンプルプログラムのソースコード - TimeFormatSample03.java - ]
- package sample.sample4;
- import java.util.Calendar;
- public class TimeFormatSample03 {
- public static void main(String[] args) {
- Calendar cal = Calendar.getInstance();
- cal.set(Calendar.SECOND, 3);
- System.out.println(String.format("秒の表示:%1$TS",cal));
- cal.set(Calendar.SECOND, 21);
- System.out.println(String.format("秒の表示:%1$TS",cal));
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ サンプルプログラムの解説 ]
秒の書式指定です。「S」は、秒を2桁の数字で表現します。必要に応じて先頭に0が追加されます。
4. ミリ秒の表示
[ サンプルプログラムのソースコード - TimeFormatSample04.java - ]
- import java.util.Calendar;
- public class TimeFormatSample04 {
- public static void main(String[] args) {
- Calendar cal = Calendar.getInstance();
- cal.set(Calendar.MILLISECOND, 3);
- System.out.println(String.format("ミリ秒の表示:%1$TL",cal));
- cal.set(Calendar.MILLISECOND, 21);
- System.out.println(String.format("ミリ秒の表示:%1$TL",cal));
- cal.set(Calendar.MILLISECOND, 123);
- System.out.println(String.format("ミリ秒の表示:%1$TL",cal));
- }
- }
|
[ サンプルプログラムの実行結果 ]
ミリ秒の表示:003
ミリ秒の表示:021
ミリ秒の表示:123
|
[ サンプルプログラムの解説 ]
ミリ秒の書式指定です。「L」は、ミリ秒を3桁の数字で表現します。必要に応じて先頭に0を追加します。
5. ナノ秒の表示
[ サンプルプログラムのソースコード - TimeFormatSample05.java - ]
- import java.util.Calendar;
- public class TimeFormatSample05 {
- public static void main(String[] args) {
- Calendar cal = Calendar.getInstance();
- System.out.println(String.format("ナノ秒の表示:%1$TN",cal));
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ サンプルプログラムの解説 ]
ナノ秒の書式指定です。「N」は、ナノ秒を9桁の数字で表現します。必要に応じて先頭に0を追加します。
6. 午前、午後の表示
[ サンプルプログラムのソースコード - TimeFormatSample06.java - ]
- import java.util.Calendar;
- import java.util.Locale;
- public class TimeFormatSample06 {
- public static void main(String[] args) {
- Calendar cal = Calendar.getInstance();
- cal.set(Calendar.HOUR_OF_DAY, 6);
- System.out.println(String.format("午前、午後の表示(デフォルト):%1$Tp",cal));
- System.out.println(String.format(Locale.ENGLISH, "午前、午後の表示(英語):%1$Tp",cal));
- System.out.println(String.format(Locale.CHINESE, "午前、午後の表示(中国語):%1$Tp",cal));
- cal.set(Calendar.HOUR_OF_DAY, 18);
- System.out.println(String.format("午前、午後の表示:%1$Tp",cal));
- System.out.println(String.format(Locale.ENGLISH,"午前、午後の表示(英語):%1$Tp",cal));
- System.out.println(String.format(Locale.CHINESE,"午前、午後の表示(中国語):%1$Tp",cal));
- }
- }
|
[ サンプルプログラムの実行結果 ]
午前、午後の表示(デフォルト):午前
午前、午後の表示(英語):AM
午前、午後の表示(中国語):上午
午前、午後の表示:午後
午前、午後の表示(英語):PM
午前、午後の表示(中国語):下午
|
[ サンプルプログラムの解説 ]
午前、午後の書式指定です。「p」で午前または午後の表示をします。ロケールによって表示が異なります。ロケールが日本の場合は、午前または午後と表示されます。英語の場合は、「AM」または、「PM」。中国語の場合は、「上戸」または、「下戸」と表示されます。
7. タイムゾーン
[ サンプルプログラムのソースコード - TimeFormatSample07.java - ]
- import java.util.Calendar;
- public class TimeFormatSample07 {
- public static void main(String[] args) {
- Calendar cal = Calendar.getInstance();
- System.out.println(String.format("タイムゾーン:%1$Tz",cal));
- System.out.println(String.format("タイムゾーン:%1$TZ",cal));
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ サンプルプログラムの解説 ]
時刻の書式指定「z」(9行目)は、GMT(世界標準時)からのオフセットを設定します。日本の場合は、+0900となります。
「Z」(10行目)は、タイムゾーンの省略形を設定します。日本の場合は、JSTとなります。
8. 1970/1/1 00:00:00からの経過時間
[ サンプルプログラムのソースコード - TimeFormatSample08.java - ]
- import java.util.Calendar;
- public class TimeFormatSample08 {
- public static void main(String[] args) {
- Calendar cal = Calendar.getInstance();
- System.out.println(String.format("1970/1/1 00:00:00 UTC からの秒数:%1$Ts",cal));
- System.out.println(String.format("1970/1/1 00:00:00 UTC からのミリ秒:%1$TQ",cal));
- }
- }
|
[ サンプルプログラムの実行結果 ]
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 - ]
- import java.util.Calendar;
- import java.util.Locale;
- import java.util.TimeZone;
- public class TimeFormatSample09 {
- public static void main(String[] args) {
- Calendar cal = Calendar.getInstance();
- System.out.println(String.format("%1$-5TH時%1$-5TM分",cal));
- System.out.println(String.format("%1$5TH時%1$5TM分",cal));
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ サンプルプログラムの解説 ]
時刻の書式指定では、桁数、左揃えの指定が出来ます。9行目赤字の「-」の部分で左揃えの指定をしています。
「-」の後ろの数字は、最小桁数の指定です。上記の例では、最小桁数を5桁に指定しています。
桁数が足りない場合は、空白で埋められます。10行目は左揃えの指定はしていないので右揃えで表示されています。
|
|