9

これは、この時点で知る必要があるというよりも好奇心からですが、PHPマニュアルでは、それらは同一です。同じものに2つの異なるデータ形式がある理由がわかりません。

http://php.net/manual/en/class.datetime.php

const string RFC1123 = "D, d M Y H:i:s O" ;
const string RFC2822 = "D, d M Y H:i:s O" ;

どんな手掛かり?

4

2 に答える 2

22

RFC1123は「インターネット ホストの要件 - アプリケーションとサポート」、1989 年 10 月

RFC2822は「インターネット メッセージ フォーマット」、2001 年 4 月

RFC1123 を RFC2822親と考えてください。次のように、日付/時刻の適切な仕様としてRFC2822を参照しています。

3.3. 日時指定

日付と時刻は、いくつかのヘッダー フィールドで発生します。このセクションでは、日付と時刻を完全に指定するための構文を指定します。日時指定全体で空白の折り畳みが許可されていますが、FWS が表示される各場所で単一のスペースを使用することをお勧めします (必須かオプションかに関係なく)。一部の古い実装では、空白の折り畳みの他の発生を正しく解釈しない場合があります。

日時 = [曜日 "," ] 日付 FWS 時間 [CFWS]

曜日 = ([FWS] 曜日名) / obs-曜日

曜日名 = "月" / "火" / "水" / "木" / "金" / "土" / "日"

日付 = 日 月 年

年 = 4*DIGIT / obs-年

month = (FWS 月名 FWS) / obs-month

month-name = "1月" / "2月" / "3月" / "4月" / "5月" / "6月" / "7月" / "8月" / "9月" / "10月" / "11月" / "12月" "

日 = ([FWS] 1*2DIGIT) / 観測日

time = 時刻の FWS ゾーン

時刻 = 時 ":" 分 [ ":" 秒 ]

時間 = 2DIGIT / 観測時間

分 = 2DIGIT / obs-分

秒 = 2DIGIT / obs-秒

ゾーン = (( "+" / "-" ) 4DIGIT) / obs-ゾーン

于 2012-09-24T16:35:02.840 に答える
1

その理由はドキュメントだと思います。日付形式は同じかもしれませんが、異なるドキュメントで個別に定義されています。そして正直に言いましょう

const string COMMON_DATE_FORMAT_FOR_RFC1123_AND_2822 = "D, d M Y H:i:s O" ;

それほど使い物にはなりません。

于 2012-09-24T16:34:39.047 に答える