夏季查询字符串 GMT 日期时间

Posted

技术标签:

【中文标题】夏季查询字符串 GMT 日期时间【英文标题】:querystring GMT datetime in Summer 【发布时间】:2016-03-27 11:14:10 【问题描述】:

我需要向我们的 API 服务器发送一个查询字符串参数,该参数需要 GMT 格式的时间。 由于日期是 GMT 格式,我对在夏季需要发送哪些值感到有点困惑。

假设我们在伦敦(英国),现在是下午 3 点,现在是 5 月 15 日 2016.

是正确的日期值:

?date=2016-05-15T15:00:00Z

?date=2016-05-15T15:00:00+01:00

?date=2016-05-15T16:00:00Z (assuming I always want to use the Z "Zulu Time")

【问题讨论】:

【参考方案1】:

由于伦敦在该日期是 BST,因此2016-05-15T15:00:00+01:00 将是最完全合格的正确形式。

如果您要将其标准化为 UTC,那么它将变为 2016-05-15T14:00:00ZZ 等价于+00:00,所以你必须通过原始偏移量的倒数来调整小时。

2016-05-15T15:00:00Z 不正确,因为那是一个小时后。

至于两种正确形式中哪一种更适合您的特定 API,无法回答,因为您没有详细说明 API 的设计方式、实现的语言、解析输入的代码,等等。在许多情况下,任何一个都会被接受。但是,如果 API 需要知道本地时间和通用时间,那么只有 2016-05-15T15:00:00+01:00 可以同时传达两者。

另外,认识到没有“GMT 格式”之类的东西。 GMT 是一个时区,相当于 UTC+00:00。您在这里实际拥有的是ISO8601 扩展格式的字符串,也在RFC3339 下指定。这通常被称为“ISO 格式”。

【讨论】:

以上是关于夏季查询字符串 GMT 日期时间的主要内容,如果未能解决你的问题,请参考以下文章

转换 GMT 日期时间字符串

iOS日期转换之UTC/GMT时间格式

查询 post_meta 日期而不是 post_date_gmt

从当前日期获取 GMT 字符串

雪花 GMT 字符串到日期转换

用于 GMT 偏移的 php 日期和时间工具