【问题标题】:What is the difference between RFC1123 and RFC2822 DateTime formatting in PHP?PHP 中的 RFC1123 和 RFC2822 日期时间格式有什么区别?
【发布时间】:2012-09-16 03:43:47
【问题描述】:

这是出于好奇,而不是因为我现在需要知道它,但在 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" ;

有什么线索吗?

【问题讨论】:

    标签: php datetime rfc2822 rfc1123


    【解决方案1】:

    我认为原因是文档。日期格式可能相同,但它们在不同的文档中独立定义。说实话

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

    不会那么有用。

    【讨论】:

      【解决方案2】:

      RFC1123 是“Internet 主机要求 - 应用程序和支持”,1989 年 10 月

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

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

      3.3。日期和时间规范

      日期和时间出现在多个标题字段中。这个部分 指定完整日期和时间规范的语法。 尽管整个日期时间都允许折叠空白 规范,建议使用单个空格 FWS 出现的每个地方(无论是必需的还是可选的); 一些较旧的实现可能无法解释其他出现的 正确折叠空白。

      date-time = [ day-of-week "," ] 日期 FWS 时间 [CFWS]

      day-of-week = ([FWS] day-name) / obs-day-of-week

      day-name = "Mon" / "Tue" / "Wed" / "Thu" / “周五”/“周六”/“周日”

      日期 = 日月年

      年 = 4*DIGIT / obs-年

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

      月份名称=“一月”/“二月”/“三月”/“四月”/ “五月”/“六月”/“七月”/“八月”/ “九月”/“十月”/“十一月”/“十二月”

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

      时间 = 一天中的 FWS 区域

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

      小时 = 2DIGIT / obs-小时

      分钟 = 2DIGIT / obs-分钟

      秒 = 2DIGIT / obs-秒

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

      【讨论】:

      • 另外值得注意的是:RFC1123 参考了 RFC822。 RFC2822 淘汰了 RFC822。
      • 谢谢两位,满足好奇心!
      猜你喜欢
      • 2019-07-22
      • 2014-02-13
      • 2011-05-26
      • 2012-11-14
      • 2021-06-15
      • 2010-10-06
      • 1970-01-01
      • 2016-07-06
      • 1970-01-01
      相关资源
      最近更新 更多