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

querystring GMT datetime in Summer

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

Let's assume we are in London (UK), it's 3PM, and it's the 15th of May 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")

由于该日期伦敦处于 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 extended format, also specified under RFC3339 中的一个字符串。这就是通常所说的“ISO格式”。