| 値 | 説明 |
| 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分
没有评论:
发表评论