【发布时间】:2015-05-24 06:42:53
【问题描述】:
如果我使用Date.parse(),我“几乎可以保证”能够解析我的程序中的内容吗?
在Mozilla's entry for Date.parse,他们写道:
给定一个表示时间的字符串,parse() 返回时间值。它接受RFC2822 / IETF 日期语法(RFC2822 第 3.3 节),例如“格林威治标准时间 1995 年 12 月 25 日星期一 13:30:00”。
我自己的服务器返回Sun, 24 May 2015 05:37:13 GMT。
麻烦的是,Wikipedia tells me that the Date header follows the RFC 7131。现在,RFC 7231 虽然他们似乎在说同样的话(尽管 7231 更广泛),但我想知道......
如果我使用Date.parse(),我“几乎可以保证”能够解析我的程序中的内容吗?我很高兴假设服务器没有在时间真空中运行。
【问题讨论】:
-
您不应该“能够解析出现的内容”,而是“知道您收到并解析它的格式”。什么样的服务器没有一种固定的日期格式?如果你知道,那有什么问题?
-
嗯...你读过我的问题吗?我指出了所有的 RFC。讲互联网标准的时候,有很多SHOULD、COULD等,我事先不知道要连接什么服务器。
-
您事先不知道您将连接到哪个服务器?这怎么可能呢?你怎么知道你会得到什么样的响应(json、xml等)?这对我来说听起来像是一个不切实际的问题。每个服务器都是独立实现的。一旦你开始研究真正的实现,你就会发现真的没有标准这样的东西。
-
你在写JS框架吗?然后只需强制服务器使用您想要的格式。就这么简单。
-
@freakish 如果您强制服务器在标头中使用不同的格式,您将违反它遵循 RFC 7231 的要求。相反,这必须在应用程序代码中的某处完成或通过新的标题。
标签: javascript http date datetime