日付、時刻、およびタイム・スタンプのフォーマット指定子

日付、時刻、およびタイム・スタンプのフォーマットは、文字のパターンによって指定され、それぞれの文字は日付または時刻のコンポーネントを表します。 これらの文字には大/小文字の区別があり、a から z および A から Z のすべての文字は、日付または時刻のコンポーネントに構文解析されます。 日付または時刻のコンポーネントとしてテキストを構文解析することなく日付、時刻、またはタイム・スタンプ内で文字を表示するには、その文字 (単数または複数) を単一引用符で囲んでください。 日付、時刻、またはタイム・スタンプで単一引用符を表示する場合は、単一引用符を 2 個使用します。

次の表では、日付、時刻、またはタイム・スタンプのパターン内の文字およびその値をリストしています。

文字 日付または時刻コンポーネント
G 紀元指定子 テキスト AD
y 1996; 96
M 1 年のうちの月 July; Jul; 07
w 1 年のうちの週 数値 27
W 1 か月のうちの週 数値 2
D 1 年のうちの日 数値 189
d 1 か月のうちの日 数値 10
F 1 か月のうちの曜日 数値 2
E 週の曜日 テキスト Tuesday; Tue
a AM/PM マーカー テキスト PM
H 1 日のうちの時間 (0 から 23) 数値 0
k 1 日のうちの時間 (0 から 24) 数値 24
K AM/PM での時間 (0 から 11) 数値 0
h AM/PM での時間 (1 から 12) 数値 12
m 1 時間のうちの分数 数値 30
s 1 分のうちの秒数 数値 55
S ミリ秒 数値 978
z タイム・ゾーン 一般タイム・ゾーン 太平洋標準時; PST; GMT-08:00
Z タイム・ゾーン RFC 822 タイム・ゾーン -800
C 世紀 世紀 20; 21

パターン内で連続して使用される各文字の数により、文字のそのグループがどのように解釈および構文解析されるかが決まります。 解釈は、文字のタイプによって異なります。 また解釈は、パターンがフォーマット設定に使用されるか、構文解析に使用されるかによっても異なります。次のリスト では、文字の型、およびこれらの文字の数の違いによってどのように解釈に影響するかを示しています。

テキスト
フォーマット設定の場合、文字数が 4 文字未満であれば、フル書式が使用されます。4 文字以上のときは、可能な場合、略語が使用されます。 構文解析では、パターン文字の数に関係なく、両方の書式が受け入れられます。
数値
フォーマット設定の場合、パターン文字の数は、最小桁数を表します。 数字を指定の長さにするために短くする場合は、ゼロが追加されます。 構文解析では、2 つの隣接するフィールドを分離するのに必要でないかぎり、パターン文字の数は無視されます。
フォーマット設定の場合、パターン文字の数が 2 であれば、年が 2 桁に切り捨てられます。 その他の場合は、年は数値型として解釈されます。

構文解析では、パターン文字の数が 2 でない場合、桁数に関係なく、年は文字どおりに解釈されます。 例えば、パターン MM/dd/yyyy に値 01/11/12 を割り当てると、January 11, 12 A.D. と解析されます。同じパターンに値 01/02/3 または 01/02/0003 を割り当てると、January 2, 3 A.D. と解析されます。同様に、同じパターンに値 01/02/-3 を割り当てると、January 2, 4 B.C. と解析されます。

構文解析では、パターンが yy の場合、パーサーにより、現在の年を基準としてフル年が判別されます。 パーサーは、2 桁で表された年を、処理時点の 80 年前から 20 年後以内と想定します。 例えば、現在の年が 2004 年の場合、パターン MM/dd/yy に値 01/11/12 を割り当てると、2012 年 1 月 11 日と解析し、また同じパターンに値 05/04/64 に割り当てると、1964 年 5 月 4 日と解析します。

文字パターンの数が 3 以上の場合、月はテキスト型として解釈されます。その他の場合は、年は数値型として解釈されます。
一般タイム・ゾーン
一般タイム・ゾーンは、名前が付けられている場合、テキスト型として解釈されます。GMT オフセット値を表すタイム・ゾーンの場合、次の構文規則が使用されます。

GMTOffsetTimeZone = GMT 符号 時間 :

符号
+ または -
時間
0 から 23 までの 1 桁または 2 桁の数値。書式はロケールに依存せず、 ユニコード規格の基本ローマ字ブロックから取得する必要があります。
00 から 59 までの 2 桁の数値。書式はロケールに依存せず、 ユニコード規格の基本ローマ字ブロックから取得する必要があります。

構文解析では、RFC 822 タイム・ゾーンも許容されます。

RFC 822 タイム・ゾーン
フォーマット設定には、RFC 822 4 桁タイム・ゾーン形式が使用されます。

RFC822TimeZone = 符号 TwoDigitHour :

TwoDigitHours は、00 から 23 までの 2 桁の数値でなければなりません。 その他の定義は、一般タイム・ゾーンと同じです。

構文解析では、一般タイム・ゾーンも許容されます。

世紀
100 までのフル年 MOD を取る数値型として表示されます。

次の表では、米国のロケールで解釈される日付と時刻パターンのサンプルの一部を記載しています。

日付と時刻のパターン 結果
yyyy.MM.dd G 'at' HH:mm:ss z 2001.07.04 AD at 12:08:56 PDT
EEE, MMM d, ''yy Wed, Jul 4, '01
h:mm a 12:08 PM
hh 'o''clock' a, zzzz 12 o'clock PM, Pacific Daylight Time
K:mm a, z 0:08 PM, PDT
yyyyy.MMMMM.dd GGG hh:mm aaa 02001.July.04 AD 12:08 PM
EEE, d MMM yyyy HH:mm:ss Z Wed, 4 Jul 2001 12:08:56 -0700
yyMMddHHmmssZ 010704120856-0700
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.(C) Copyright IBM Japan 2005.