HOME > 日付をフォーマットする
日付をフォーマットする
Date型やCalendar型の日付データを文字列として出力したい時は、
java.text.SimpleDateFormatクラスを使用すると、簡単にいろいろなフォーマット形式で出力することが出来ます。
サンプルソースコード
- 日付フォーマットサンプル
- 
import java.util.Calendar; import java.text.SimpleDateFormat; public class SimpleDateFormatSample { public static void main(String args[]) { //現在日時を取得する Calendar c = Calendar.getInstance(); //フォーマットパターンを指定して表示する SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E曜日"); System.out.println(sdf.format(c.getTime())); //フォーマットパターン変更して表示する sdf.applyPattern("a hh:mm:ss SSS"); System.out.println(sdf.format(c.getTime())); } }
- 実行結果(2011年8月30日 13時51分52秒651 に実行した場合)
- C:\>java SimpleDateFormatSample 2011年08月30日 火曜日 午後 01:51:52 651
SimpleDateFormatクラス 主要コンストラクタ
| コンストラクタ | 説明 | 
|---|---|
| SimpleDateFormat() | デフォルトパターンにて生成する (yy/MM/dd H:mm) | 
| SimpleDateFormat(String p) | パターンを指定して生成する | 
主要メソッド
| 戻値型 | メソッド | 説明 | 
|---|---|---|
| void | applyPattern(String pattern) | パターンを指定する | 
| String | toPattern() | フォーマットパターンを返す | 
| String | format(Date d) | 引数の日付をフォーマットする | 
日付パターン
| 文字 | 意味 | 例 | 
|---|---|---|
| yy | 西暦年(2桁) | 2012年→2012 | 
| yyyy | 西暦年(4桁) | 2012年→12 | 
| M | 月 | 8月→8 | 
| MM | 月(ゼロ埋め) | 8月→08 | 
| D | 年に対する日 | 1月9日→9 | 
| DDD | 年に対する日(ゼロ埋め) | 1月9日→009 | 
| d | 月に対する日 | 3日→3 | 
| dd | 月に対する日(ゼロ埋め) | 3日→03 | 
| w | 年に対する週 | 2011年8月30日→36(2011年の36週目) | 
| W | 月に対する週 | 2011年8月30日→5(2011年8月の5週目) | 
| E | 曜日 | 2011年8月30日→火 | 
| F | 月に対する曜日番号 | 2011年8月30日(火) →5(2011年8月の5回目の火曜日) | 
| a | 午前午後 | 13:00→午後 | 
| h | 時(12時間制) | 13時→1 | 
| hh | 時(12時間制ゼロ埋め) | 13時→01 | 
| H | 時(24時間制) | 3時→3 | 
| HH | 時(24時間制ゼロ埋め) | 3時→03 | 
| m | 分 | 3分→3 | 
| mm | 分(ゼロ埋め) | 3分→03 | 
| s | 秒 | 3秒→3 | 
| ss | 秒(ゼロ埋め) | 3秒→03 | 
| S | ミリ秒 | 3ミリ秒→3 | 
| SSS | ミリ秒(ゼロ埋め) | 3ミリ秒→003 | 
- 日付パターンと出力例のサンプル
- 
(パターン)"yyyy/MM/dd" → (出力例)2011/08/31 (パターン)"HH:mm:ss" → (出力例)14:53:02 (パターン)"HH:mm:ss S" → (出力例)15:52:30 280 (パターン)"E曜日" → (出力例)水曜日 (パターン)"ah時m分" → (出力例)午後2時55分