Date and Time Patterns
日付と時刻の書式は、日付と時刻のパターン文字列で指定されます。日付と時刻のパターン文字列内で、引用符で囲まれていない'A'から'Z'および'a'から'z'の文字は、日付または時刻文字列の要素を表すパターン文字として解釈されます。解釈を避けるために、テキストは単一引用符('')を使用して引用符で囲むことができます。"''" は単一引用符を表します。他の全ての文字は解釈されません。それらは書式設定中に単純に出力文字列にコピーされるか、解析中に入力文字列と照合されます。
以下のパターン文字が定義されています('A'から'Z'および'a'から'z'の他の全ての文字は予約されています)。
- G: 時代指定子; Text; 例:AD
- y: 年; Year; 例:1996; 96
- M: 年内の月; Month; 例:July; Jul; 07
- w: 年内の週; Number; 例:27
- W: 月内の週; Number; 例:2
- D: 年内の日; Number; 例:189
- d: 月内の日; Number; 例:10
- F: 月内の曜日; Number; 例:2
- E: 曜日; Text; 例:Tuesday; Tue
- a: 午前/午後マーカー; Text; 例:PM
- H: 1日内の時 (0-23); Number; 例:0
- k: 1日内の時 (1-24); Number; 例:24
- K: 午前/午後内の時 (0-11); Number; 例:0
- h: 午前/午後内の時 (1-12); Number; 例:12
- m: 時内の分; Number; 例:30
- s: 分内の秒; Number; 例:55
- S: ミリ秒; Number; 例:978
- z: タイムゾーン; General Time Zone; 例:Pacific Standard Time; PST; GMT-08:00
- Z: タイムゾーン; RFC 822 Time Zone; 例: -0800
パターン文字は通常繰り返されます。その繰り返し回数によって正確な表示が決まります。
- Text:書式設定の場合、パターン文字の数が4以上であれば完全な形式が使用されます。それ以外の場合は、利用可能であれば短い形式または省略形が使用されます。解析の場合、パターン文字の数に関係なく両方の形式が受け入れられます。
- Number:書式設定の場合、パターン文字の数は最小桁数であり、短い数値はこの桁数までゼロ埋めされます。解析の場合、隣接する2つのフィールドを区切るために必要な場合を除き、パターン文字の数は無視されます。
- Year:基になるカレンダーがグレゴリオ暦の場合、以下のルールが適用されます。
- 書式設定の場合、パターン文字の数が2の場合、年は2桁に切り捨てられます。それ以外の場合は数値として解釈されます。
- 解析の場合、パターン文字の数が2より多い場合、桁数に関係なく年は文字通りに解釈されます。したがって、パターン「MM/dd/yyyy」を使用すると、「01/11/12」は紀元12年1月11日として解析されます。
- 省略された年のパターン(「y」または「yy」)で解析する場合、このオペレータは省略された年を特定の世紀に対して相対的に解釈する必要があります。これは、実行時の前後80年と20年以内に日付を調整することによって行われます。例えば、パターン「MM/dd/yy」を使用し、実行が1997年1月1日である場合、文字列「01/11/12」は2012年1月11日として解釈され、文字列「05/04/64」は1964年5月4日として解釈されます。解析中、正確に2桁の文字列のみがデフォルトの世紀に解析されます。1桁の文字列、3桁以上の文字列、または全てが数字ではない2桁の文字列(例:「-1」)などの他の数値文字列は、文字通りに解釈されます。したがって、「01/02/3」または「01/02/003」は、同じパターンを使用して紀元3年1月2日として解析されます。同様に、「01/02/-3」は紀元前4年1月2日として解析されます。
それ以外の場合、カレンダーシステム固有の形式が適用されます。パターン文字の数が4以上の場合、カレンダー固有の長い形式が使用されます。それ以外の場合、カレンダーの短い形式または省略形が使用されます。
- Month:パターン文字の数が3以上の場合、月はテキストとして解釈されます。それ以外の場合は、数値として解釈されます。
- General time zone:タイムゾーンは、名前を持つ場合、テキストとして解釈されます。GMTオフセット値を表現することでタイムゾーンを定義できます。RFC 822タイムゾーンも受け入れられます。
- RFC 822 time zone:書式設定の場合、RFC 822の4桁のタイムゾーン形式が使用されます。一般タイムゾーンも受け入れられます。
例
以下の例は、米国のロケールで日付と時刻のパターンがどのように解釈されるかを示しています。指定された日付と時刻は、米国太平洋時間タイムゾーンの現地時間2001年7月4日12:08:56です。
- "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
- "yyyy.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
- "yyyy-MM-dd'T'HH:mm:ss.SSSZ":2001-07-04T12:08:56.235-0700