これは、この時点で知る必要があるというよりも好奇心からですが、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" ;
どんな手掛かり?
これは、この時点で知る必要があるというよりも好奇心からですが、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" ;
どんな手掛かり?
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-ゾーン
その理由はドキュメントだと思います。日付形式は同じかもしれませんが、異なるドキュメントで個別に定義されています。そして正直に言いましょう
const string COMMON_DATE_FORMAT_FOR_RFC1123_AND_2822 = "D, d M Y H:i:s O" ;
それほど使い物にはなりません。