日付・時刻のフォーマット表示に使用する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

コメントを残す