PHP中的RFC1123和RFC2822 DateTime格式有什么区别?

Mat*_*att 6 php datetime rfc2822 rfc1123

这是出于好奇,而不是因为我需要知道它,但在PHP手册中,它们是相同的; 我看不出同一件事有两种不同数据格式的原因.

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" ;
Run Code Online (Sandbox Code Playgroud)

任何线索?

Ali*_*guy 18

RFC1123是"互联网主机的要求 - 应用和支持",1989年10月

RFC2822是"Internet消息格式",2001年4月

RFC1123视为RFC2822的父.它引用RFC2822作为日期/时间的适当规范,如下所示:

3.3.日期和时间规范

日期和时间出现在几个标题字段中.本节指定完整日期和时间规范的语法.虽然在整个日期时间规范中允许折叠空白区域,但建议在FWS出现的每个地方使用单个空格(无论是必需的还是可选的); 一些较旧的实现可能无法正确解释其他出现的折叠空白区域.

date-time = [星期几","]日期FWS时间[CFWS]

星期几=([FWS]日名称)/ obs-day-of-week

day-name ="星期一"/"星期二"/"星期三"/"星期四"/"星期五"/"星期六"/"星期日"

日期=日月

年= 4*DIGIT/obs-year

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

month-name ="Jan"/"Feb"/"Mar"/"Apr"/"May"/"Jun"/"Jul"/"Aug"/"Sep"/"Oct"/"Nov"/"Dec" "

day =([FWS] 1*2DIGIT)/ obs-day

时间=时间FWS区域

时间=小时":"分钟[":"秒]

小时= 2DIGIT/obs-hour

分钟= 2DIGIT/obs-minute

秒= 2DIGIT/obs-second

zone =(("+"/" - ")4DIGIT)/ obs-zone

  • 另外值得注意的是:RFC1123引用了RFC822.RFC2822废弃了RFC822. (2认同)