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分