[18] インターネットメールの日時形式には、時間帯を記述する欄があります。
[28] RFC 822 では時間帯は名前または時差によって表すことになっていました >>13 5.1.。
[32] 大文字と小文字は区別しません >>13 3.4.7.。
[128] son-of-RFC 1036 は時差と GMT
と UT
のいずれかを使うことを要求しています >>117 5.1.。
[38] RFC 822 の一部を改訂する RFC 1123 (や後のRFC2822の日付形式) は、 名前でなく時差によって表記するべきとしています >>44 5.2.14。
[142] VPIMv2 (RFC 3801) も、 RFC 822 に基づきつつ時差によって表記するべきとしています >>48。
[62] 電子メール関連仕様である RFC 2183、RFC 1894、RFC 2852、RFC 3464 は、 それぞれの文脈においては時差によって表記しなければならない >>61 2., >>72, >>71, >>70 としています。
[57] RFC 822 の附属書Dは本文中の BNF 生成規則をまとめたものですが、 時間帯の定義の時差の部分と注釈の一部が誤って欠落しています >>44 5.2.14。
[115] RFC 1036 は GMT
、北米の時間帯名、時差に対応するべき
>>109 としています。
[88] RFC 2822/RFC 5322 では時間帯は時差によって表すことになっています >>77 3.3., >>106 3.3.。
[30] 時差は、 +
または -
の符号の後、
2桁の数字による時と2桁の数字による分の2桁で表すことになっています >>13 5.1.。
[43] 時差の値域は RFC 822 には明記されていませんでした。
[120] son-of-RFC 1036 では時は23以下、分は59以下とされています >>117 5.1.。
[93] RFC 2822 では時は 99 以下、 分は 59 以下とされています >>77 3.3.。
[42] なお +
や -
は atom
に含まれる文字なので、
RFC 822 における単独の字句となる区切り文字ではありません。従って、
これら符号と数字の間に linear-white-space
や
comment
を挿入することはできませんでした。
[90] RFC 2822/RFC 5322 によれば、 UT を表すには +0000
を使うべきです
>>77 3.3., >>106 3.3.。
-0000
[91] RFC 2822/RFC 5322 によれば、 -0000
も UT を表しますが、
同時に他の地方時のシステムかもしれないシステムで生成されたことも表します
>>77 3.3., >>106 3.3.。
[54] UT
と GMT
は、 UT を表します >>13 5.1., >>94 4.3., >>106 4.3., >>117 5.1.。
[97] RFC 2822/RFC 5322 ではこれらの使用は禁止されていますが、理解できなければなりません >>94 4.3., >>106 4.3.。
[137] ネットニュースで用いられる RFC 5536 は、 GMT
も広く用いられているので適合とするが、生成してはならないとしています
>>135。
[29] 北米の主要な標準時と夏時刻を表す
EST
, EDT
, CST
, CDT
,
MST
, MDT
, PST
, PDT
が定義されており、それぞれ特定の (固定の) 時差を表すこととされていました >>13 5.1.。
[129] son-of-RFC 1036 はこれらを禁止しており、解釈が混乱していると指摘しています >>117 5.1.。
[98] RFC 2822/RFC 5322 ではこれらの使用は禁止されていますが、理解できなければなりません >>94 4.3., >>106 4.3.。
[55] RFC 822 は米軍時間帯を表す1文字のラテン文字の利用を認めていました
(ただし J
は未使用とされていました) >>13 5.1.。
[39] RFC 733 (RFC 822 の前の世代), RFC 822 の BNF の注釈では符号が逆になっています。このため実装により解釈が正反対になってしまい、 RFC 1123 は「この書き方は情報を伝達しない」 >>44 5.2.14 としています。
[130] son-of-RFC 1036 はこれらを禁止しています >>117 5.1.。
[99] RFC 2822/RFC 5322 は、これらの使用を禁止していますが、これら (J
以外)
が使用された日時を理解できなければならないとしています。ただし、外部情報が無い限り、
-0000
と解釈するべきだとしています。 >>94 4.3., >>106 4.3.
[56] 時間帯を表す文字列は前の世代のRFC733の日付形式から種類が減っています。 一方実際にはここで示されていないもの (例 JST = +0900) がしばしば 使われました。 (最近は少なくなりました。) 標準の北米のものの他に、 欧州やアジアや豪州の各地の時間帯が歴史的に用いられていました。 中には同名で意味が衝突しているものもあります。
[101] RFC 2822/RFC 5322 は、他の複数文字の名前について、歴史的に使われてきたことを認めた上で、
外部情報がなければ未知のものは -0000
と解釈するべきとしています
>>94 4.3., >>106 4.3.。
[121] son-of-RFC 1036 は、時差の直後に空白と注釈を置くことを認めていました
>>117 5.1.。この注釈には、 U+0020
-U+007E
を1文字以上含めなければなりません (ただし (
, )
, \
を除きます)
>>117 5.1.。
[125] RFC 1036 は、 GMT を用いて、表示の際に地方時に変換することを推奨していました >>109。
[126] son-of-RFC 1036 は投稿者の時間帯を時差として記述し、 説明を注釈に含めるべきとしていました >>117 5.1.。
[124] RFC 2822/RFC 5322 では、日時は地方時を表すものであるべきとされています >>77 3.3., >>106 3.3.。
[20] IMAPの日時形式はインターネットメールの日時形式と似ていますが、 少し違っています。時間帯の部分は、インターネットメールの日時形式とほぼ同じ形式となっています。
[21] 古い IMAP では北米の時間帯略称が使われていました。 IMAP4 など新しいものは時差表記を採用しています。
[1] 電子メイルの Date
欄その他で用例が発見されている時間帯をあらわす略語の一覧です。
(プロトコル要素としての略語なので、普通の文章中に出てくるものは含んでいませんが、
(自然な結果として) 日常的に使われる略語も多く含んでいます。)
[14] 次に示すのはその一部です。
ACSST => [+1, 10, 30], ## Australian Central Summer Standard ACST => [+1, 09, 30], ## Australian Central Standard ADT => [-1, 3, 0], ## (NA)Atlantic Daylight 733 ADT => [-1, 04, 00], ## Brazil Acre Daylight AESST => [+1, 11, 0], ## Australian East Summer Standard AEST => [+1, 10, 0], ## Australian East Standard 豪州東部標準時 AHST => [-1, 10, 0], ## Alaska-Hawaii Standard AKST => [-1, 09, 00], ## Alaska Standard AM => [-1, 00, 00], ## After Morning 午後 AST => [-1, 4, 0], ## (NA)Atlantic Standard 733 AST => [-1, 05, 00], ## Brazil Acre Standard AT => [-1, 2, 0], ## Azores AWSST => [+1, 09, 00], ## Australian West Summer Standard AWST => [+1, 08, 00], ## Australian West Standard BDT => [-1, 10, 0], ## ベーリング夏時間 733 BST => [-1, 11, 0], ## ベーリング標準時 733 BST => [+1, 1, 0], ## British Summer ブリテン夏時間 BST => [-1, 3, 0], ## Brazil Standard BST => [+1, 03, 00], ## Baghdad Standard BT => [+1, 03, 00], ## Baghdad CADT => [+1, 10, 30], ## Central Australian Daylight CAST => [+1, 09, 30], ## Central Australian Standard CAT => [-1, 10, 00], ## Central Alaska CCT => [+1, 08, 00], ## China Coastal CDT => [-1, 05, 00], ## (NA)Central Daylight 733, 822 北米中部夏時間 CDT => [+1, 09, 00], ## People's Republic of China Daylight CDT => [-1, 06, 00], ## Cuba Daylight CDT => [-1, 03, 00], ## Chile Continental Daylight CET => [+1, 1, 0], ## Central European 中欧標準時 CETDST=> [+1, 02, 00], ## Central European Daylight Saving CEST => [+1, 2, 0], ## Central European Daylight CST => [-1, 6, 0], ## (NA)Central Standard 733, 822 CST => [+1, 10, 30], ## Australian Central Standard CST => [+1, 08, 00], ## People's Republic of China Standard CST => [-1, 05, 00], ## Cuba Standard CST => [-1, 04, 00], ## Chile Continental Standard DNT ## Dansk Normal Tid デンマーク標準時 DST => [-1, 00, 00], ## Daylight Saving 夏時間 EADT => [+1, 11, 00], ## Eastern Australian Daylight EAST => [+1, 10, 00], ## Eastern Australian Standard EASTERN ECT => [+1, 1, 0], ## Central European EDT => [-1, 4, 0], ## (NA)Eastern Daylight 733, 822 EDT => [-1, 02, 00], ## Brazil Eastern Daylight EDT => [-1, 05, 00], ## Chile Easter Island Daylight EEST => [+1, 3, 0], ## Eastern European Summer EET => [+1, 2, 0], ## Eastern Europe 東欧標準時 RFC1947 EET => [+1, 03, 00], ## Turkey EETDST=> [+1, 03, 00], ## Eastern European Dayright Saving EST => [-1, 5, 0], ## (NA)Eastern Standard 733, 822 EST => [+1, 10, 00], ## 豪州東部標準時 EST => [-1, 03, 00], ## Brazil Eastern Standard EST => [-1, 06, 00], ## Chile Easter Island Standard EWT => [-1, 4, 0], ## U.S. Eastern War Time FDT => [-1, 01, 00], ## Brazil De Noronha Daylight FST => [+1, 2, 0], ## French Summer FDT => [-1, 02, 00], ## Brazil De Noronha Standard FWT => [+1, 1, 0], ## French Winter ## FST と FWT が逆になっている資料がある。 ## 日本との時差は夏の方が短いのが正しい。 GDT => [+1, 1, 0], ## グリニッジ夏時間 724 GDT => [+1, 2, 0], ## German Daylight GM GMT => [+1, 0, 0], ## Greenwich Mean 733, 822 グリニッジ標準時 GST => [-1, 3, 0], ## Greenland Standard GST => [+1, 1, 0], ## German Standard GST => [+1, 10, 0], ## Guam Standard HAST => [-1, 10, 00], ## Hawaii and Alaska Standard HDT => [-1, 9, 0], ## Hawaii Daylight Time, Hawaii/Alaska Daylight Time RFC 733 HDT => [-1, 10, 30], ## Hawaii Daylight HKT => [+1, 8, 0], ## Hong Kong 香港標準時 HST => [-1, 10, 0], ## Hawaii Standard 733 ハワイ・アラスカ標準時 IDLE => [+1, 12, 0], ## International Date Line, East IDLW => [-1, 12, 0], ## International Date Line, West IDT => [+1, 3, 0], ## イスラエル夏時間 RFC 1555 IDT => [+1, 04, 30], ## Iran Daylight IST => [+1, 2, 0], ## Israel standard IST => [+1, 05, 30], ## Indian standard 印度標準時 IST => [+1, 03, 30], ## Iran Standard IT => [+1, 03, 30], ## Iran JCST => [+1, 09, 00], ## Japan Central Standard Time 日本中央標準時 JST => [+1, 09, 00], ## Japan Central Standard 日本中央標準時 JT => [+1, 09, 00], ## Japan Central Standard JT => [+1, 07, 30], ## Java (ジャワ島) KDT => [+1, 10, 00], ## Korean Daylight KST => [+1, 09, 00], ## Korean Standard LCL => [-1, 00, 00], ## (LSMTP が時間帯不明の時使用) LIGT => [+1, 10, 00], ## 豪州メルボルン時間 LOCAL => [-1, 00, 00], ## local time zone LON LT => [-1, 0, 0], ## Luna Time [RFC 1607] 月時間 RFC1607 MDT => [-1, 6, 0], ## (NA)Mountain Daylight 北米山地夏時間 733, 822 MET => [+1, 0, 0], ## Middle European 中欧標準時 MET => [+1, 01, 00], ## Medium European MET DST=> [+1, 2, 0],## 中欧夏時間 METDST=> [+1, 2, 0],## 中欧夏時間 MEST => [+1, 2, 0], ## Middle European Summer MEWT => [+1, 0, 0], ## Middle European Winter MEZ => [+1, 0, 0], ## Central European (German) MST => [-1, 7, 0], ## (NA)Mountain Standard 北米山地標準時 733, 822 MOUNTAIN => [-1, 7, 0], ## (maybe) (NA)Mountain Standard 733, 822 MT => [+1, 08, 30], ## Moluccas (モルッカ諸島) MT => [-1, 0, 0], ## Mars Time [RFC 1607] 火星時間 RFC1607 NDT => [-1, 2, 30], ## Newfoundland Daylight NFT => [-1, 3, 30], ## Newfoundland Standard NOR => [+1, 01, 00], ## Norway Standard NST => [-1, 3, 30], ## Newfoundland Standard 733 ニューファンドランド標準時 NST => [-1, 6, 30], ## North Sumatra NST => [-1, 11, 00], ## Nome Standard NT => [-1, 11, 0], ## Nome NZD => [+1, 13, 0], ## New Zealand Daylight NZT => [+1, 12, 0], ## New Zealand NZDT => [+1, 13, 0], ## New Zealand Daylight NZS => [+1, 12, 0], ## (maybe) New Zealand Standard NZST => [+1, 12, 0], ## New Zealand Standard PDT => [-1, 7, 0], ## (NA)Pacific Daylight 733, 822 北米太平洋夏時間 PM => [-1, 00, 00], ## (午前のこと?) PPET => [-1, 07, 00], ## US Pacific New (Presidental Election Year) PST => [-1, 8, 0], ## (NA)Pacific Standard 733, 822 北米太平洋標準時 SADT => [+1, 10, 30], ## South Australian Daylight SAMST SAST => [+1, 09, 30], ## South Australian Standard SAT => [+1, 09, 30], ## South Australian SET => [+1, 1, 0], ## Seychelles (セイシェル諸島) SST => [+1, 2, 0], ## Swedish Summer SST => [+1, 7, 0], ## South Sumatra SST => [+1, 08, 00], ## Singapore Standard SST => [-1, 11, 00], ## US Samoa Standard SWT => [+1, 1, 0], ## Swedish Winter UCT => [+1, 00, 00], ## Coordinated Universal Time UKR => [+1, 2, 0], ## Ukraine UNDEFINED => [-1, 0, 0], ## undefined UT => [+1, 0, 0], ## Universal Time 822 協定世界時 UTC => [+1, 0, 0], ## Coordinated Universal Time 協定世界時 WADT => [+1, 08, 00], ## West Australian Daylight WAST => [+1, 07, 00], ## West Australian Standard WAT => [-1, 0, 0], ## West Africa WDT => [+1, 09, 00], ## West Australian Daylight WDT => [-1, 03, 00], ## Brazil Western Daylight WET => [+1, 0, 0], ## Western European WETDST=> [+1, 01, 00], ## Western European Daylight WST => [+1, 8, 0], ## West Australian Standard WST => [-1, 04, 00], ## Brazil Western Standard YDT => [-1, 8, 0], ## Yukon Daylight 733 ユーコン夏時間 YST => [-1, 9, 0], ## Yukon Standard 733 ユーコン標準時 Z => [+1, 0, 0], ## 822, ISO 8601 ZP4 => [+1, 4, 0], ## Z+4 ZP5 => [+1, 5, 0], ## Z+5 ZP6 => [+1, 6, 0], ## Z+6
[2] RFC 822の日付形式にあるものは、RFC 2822の日付形式にもある。
[9] 上表には米軍規格のラテン文字1文字で表す方法は、
Z
を除いて載せていない。 RFC 822の日付形式を参照。
[10] 上表では電子メイル関連の RFC
などに載っていればその番号を参考として加えた。番号がないものは、
RFC には無いものの実際には使われていたもの (JST
など。) と、
C のような電子メイル以外の形式, その他日付系の応用で使われていたものを含む。
[4] 上記で違う時間帯に同じ略称が当てられているものが複数あることからわかるように、 略称は十分標準化されず、曖昧でない表記は不可能です。ですがら、 現在の日付形式規格, 例えば RFC 2822の日付形式や RFC 3339の日付形式では名前による指定を廃止し、数値による +0900 のような指定を使っています。
[5] 2002-12-29 16:37: 未だに RFC 822 message で JST
とか吐く DQN UA があるみたいですな
[6] 2003-01-16 20:43: RFC 724 の GDT
とは何か、
実は説明がなくて、上の表では適当な数値が入ってますが、違うかもしれませんし、
これでいいのかもしれません。
ietf-822 の最近の mid:3E2418A8.8010701@Sonietta.blilly.com
からのスレッドでこれが話題になってますが、 Dave Crocker
が知らねぇ〜って言ってます。
(あんた著者じゃないかよ。)
As I recall, the formulation of timezones for RFC 733 did not take much note of the previous documents. We simply decided which timezones we wanted to refer to by "name". Offsets (civilian or military) would be used for the rest. So we decided on all North American timezones for names, along with Greewhich Mean Time. (I'd guess that GDT means Greenwhich Daylight Time, but suspect there really is no such thing.)
"North America" included the far east of Canada as well as Alaska and Hawaii. Alaska swings *very* far west. None of us knew the names of their zones. It turns out the next zone east of EST is Atlantic Standard Time. I think I found that in a dictionary, and maybe also the Newfoundland zone.
The western extremes were more challenging. I could not find any reference to their names. I was working at The Rand Corporation at the time. It was famous for "inventing" the technical research library and it had a reference librarian who was legendary for finding difficult answers.
So I gave her a call and asked for her help. She called back in 10 minutes with the answer. I could not believe how quickly she solved this, so I asked how she came up with the answers.
She said she called the telephone information operators in the relevant areas and asked them what they called their timezones...
[19] GDT なんて無いと言ってるけど、英国では夏時刻が実施されてるんだよなあ。
[15] 昔に廃止されたはずの時間帯の名前が載っていたりして謎い。 本当に廃止前の現役当時に使われていたのか、単に昔の記録が後の時代まで残ってしまっていたのか。
[8] 日付/時間のサポート http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/datetime-appendix.html