値 | 説明 |
AM_PM | HOUR が正午より前であるか後であるかを示します。 |
DATE | 月の日を示します。 |
DAY_OF_MONTH | 月の日を示します。 |
DAY_OF_WEEK | 曜日を示します。 |
DAY_OF_WEEK_IN_MONTH | 現在の月の何度目の曜日かを示します。 |
DAY_OF_YEAR | 現在の年の何日目かを示します。 |
DST_OFFSET | 夏時間のオフセットをミリ秒単位で示します。 |
ERA | ユリウス暦の AD または BC などの年代を示します。 |
HOUR | 午前または午後の何時かを示します。 |
HOUR_OF_DAY | 時刻を示します。 |
MILLISECOND | ミリ秒を示します。 |
MINUTE | 分を示します。 |
MONTH | 月を示すフィールド値です。 |
SECOND | 秒を示します。 |
WEEK_OF_MONTH | 現在の月の何週目かを示します。 |
WEEK_OF_YEAR | 現在の年の何週目かを示します。 |
YEAR | 年を示すフィールド値です。 |
ZONE_OFFSET | GMT から直接計算したオフセットをミリ秒単位で示します。 |
MONTHの値は0から11で、JANUARY(0), FEBRUARY(1), MARCH(2), APRIL(3), MAY(4), JUNE(5), JULY(6), AUGUST(7), SEPTEMBER(8), OCTOBER(9), NOVEMBER(10), DECEMBER(11)になります。
HOURは12 時間制 (0 ~ 11) です。正午および真夜中は、12 ではなく 0 で表されます。
DAY_OF_WEEKの値は1から7で、SUNDAY(1)、MONDAY(2)、TUESDAY(3)、WEDNESDAY(4)、THURSDAY(5)、FRIDAY(6)、および SATURDAY(7) になります。
AM_PMの値は0か1で、AM(0)、PMY(1) になります。
import java.util.Calendar; class testCalendar1{ public static void main(String args[]){ String[] week_name = {"日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"}; Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DATE); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); int week = calendar.get(Calendar.DAY_OF_WEEK) - 1; int day_of_year = calendar.get(Calendar.DAY_OF_YEAR); System.out.println("現在の日時は"); System.out.println(year + "年" + month + "月" + day + "日"); System.out.println("(" + week_name[week] + ")"); System.out.println(hour + "時" + minute + "分" + second + "秒"); System.out.println("今日は今年の" + day_of_year + "日目です"); } }
現在の日付は
2006年5月5日
(金曜日)
6時3分13秒
今日は今年の125日目です
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年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分
没有评论:
发表评论