我需要向API服务器发送一个querystring参数,该参数以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")
由于伦敦在该日期处于BST,那么2016-05-15T15:00:00+01:00
将是最完全合格的正确形式。
如果将其标准化为UTC,那么它将变为2016-05-15T14:00:00Z
。Z
相当于+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格式";。