arison.jp arison.jp blog - 現在をたのしく、未来をたのしむ。日常の思い出兼備忘録。

JavaのSimpleDateFormat

日付・時刻のフォーマット表示に使用するSimpleDateFormatクラスについて

SimpleDateFormatを使ったサンプル。

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {

    public static void main(String args[]){
        Date date = new Date(0L);
        SimpleDateFormat sdf = new SimpleDateFormat("G yyyy/MM/dd(E) HH:mm:ss.SSS z Z");
        System.out.println(sdf.format(date));

        Date date1 = new Date();
        SimpleDateFormat sdf1 = new SimpleDateFormat("G yyyy/MM/dd(E) HH:mm:ss.SSS z Z");
        System.out.println(sdf1.format(date1));
    }
}

西暦 1970/01/01(木) 09:00:00.000 JST +0900
西暦 2013/09/10(火) 23:00:44.868 JST +0900

よく使うもの

文字 説明
y 13(y),13(yy),13(yyy),2013(yyyy)
M 1(M) 01(MM) 1(MMM) 1月(MMMM)
d 月における日 1(d),01(dd)
H 一日における時(0~23) 0(H),00(HH)
m 1(m),01(mm)
s 1(s),01(ss)
S ミリ秒 9(s),978(SSS)

いろんなフォーマット

文字 説明
G 紀元 西暦(G)
y 13(y),13(yy),13(yyy),2013(yyyy)
M 1(M) 01(MM) 1(MMM) 1月(MMMM)
w 年における週 27
W 月における週 2
D 年における日 189
d 月における日 1(d),01(dd)
F 月における曜日 2
E 曜日 木(E,EE,EEE),木曜日(EEEE)
a 午前/午後 午前(a)
H 一日における時(0~23) 0
k 一日における時(1~24) 24
K 午前/午後の時(0~11) 0
h 午前/午後の時(1~12) 12
m 1(m),01(mm)
s 1(s),01(ss)
S ミリ秒 9(s),978(SSS)
z タイムゾーン JST(z,zz,zzz),日本標準時(zzzz)
Z タイムゾーン +0900

パターン文字の連続する数によりフォーマットが決まります。
パターン内に任意の文字列を入れたい場合は、任意の文字列を’ ‘で囲みます。
‘ ‘で囲まれた文字列はパターン文字と認識されません。

※ 年を2桁で表す場合、オブジェクトが生成された年の前80年以内、後20年以内の範囲の年が認識されます。
2000年にオブジェクトを生成した場合、21年は1921年と解釈され、15年は2015年と解釈されます。

これは知らなかった。

日付の表現ってたくさんあり過ぎ。

[参考]
Javaの道:日付・時刻(3.SimpleDateFormatクラス)
http://www.javaroad.jp/java_date3.htm

About arison

大都会岡山の南部にある玉野市生まれ。 大都会岡山のIT会社(目標は大都会No.1)でコンピュータとお客を相手に日夜格闘中。 関東出張中はグルメブログ。 基本的に遊び人のおっさん。 ライフハックとガンダム好き。ギガフロート玉野を浸透中。

10. 9月 2013 by arison
Categories: プログラミング | Tags: | Leave a comment

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください