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)パターンを指定して生成する

主要メソッド

【java.text.SimpleDateFormatクラスの主要メソッド】
戻値型メソッド説明
voidapplyPattern(String pattern)パターンを指定する
StringtoPattern()フォーマットパターンを返す
Stringformat(Date d)引数の日付をフォーマットする

日付パターン

【Java日付フォーマットパターン】
文字意味
yy西暦年(2桁)2012年→2012
yyyy西暦年(4桁)2012年→12
M8月→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
m3分→3
mm分(ゼロ埋め)3分→03
s3秒→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分