Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
API'有常规时区吗;s_Api_Timezone - Fatal编程技术网

API'有常规时区吗;s

API'有常规时区吗;s,api,timezone,Api,Timezone,我们正在开发一个API,该API有一个身份验证头,其中必须处理时间戳。由于我们将来可能需要更多地使用时间戳,并且希望在我们使用的时区上保持一致,我想知道API是否有一个传统的时区。例如UTC+0 提前感谢在某些情况下,您会发现HTTP头(例如标准的日期头)的格式是(又称RFC2822,RFC822)。例如:2017年1月31日星期二17:45:00 GMT 在日期标题中,时区缩写始终为“GMT”(在这方面相当于UTC),即使RFC5322格式允许其他时区 上面的格式并不是我们真正喜欢的,它只是我

我们正在开发一个API,该API有一个身份验证头,其中必须处理时间戳。由于我们将来可能需要更多地使用时间戳,并且希望在我们使用的时区上保持一致,我想知道API是否有一个传统的时区。例如UTC+0


提前感谢

在某些情况下,您会发现HTTP头(例如标准的
日期
头)的格式是(又称RFC2822,RFC822)。例如:
2017年1月31日星期二17:45:00 GMT

日期
标题中,时区缩写始终为
“GMT”
(在这方面相当于UTC),即使RFC5322格式允许其他时区

上面的格式并不是我们真正喜欢的,它只是我们一直坚持的东西。当然,您可以为自己的HTTP头使用任何格式

更好的格式是。这类似于扩展格式。例如:
2017-01-31T17:45:00Z
。末尾的
Z
表示“祖鲁”时间,与GMT或UTC相同。但是,您也可以指定UTC的时区偏移,例如美国太平洋时区中的等效本地时间:
2017-01-31T09:45:00-08:00

如果您有Unix时间编号,如
1485884700
,则时区始终为UTC。然而,这不是一个好的交换格式,因为它不是人类可读的,并且不提供使用什么历元或精度的上下文。人们必须从外部了解这些事情。它不适合HTTP头,也不适合XML或JSON

如果您谈论的是XML/JSON请求的主体,那么您应该只使用ISO8601。人们还可以使用其他一些格式,但不推荐使用

至于你应该使用什么时区,这完全取决于上下文。如果您使用时间戳,即获取当前时间并记录它,那么您确实可以使用UTC。我认为出于授权目的,这是合理的。您也可以在当地时间工作,只要提供UTC的偏移量,这样就不会有歧义

然而,你(在评论中)说你的数据包含关于职位空缺的信息。对我来说,这听起来像是在谈论未来的时间——这是“始终UTC”规则的一个例外。无论何时谈论未来的时间,都需要以最直接的形式用当地时间表示,并且还需要提供适用时区的标识符(而不是偏移量)

例如,如果我谈论的是一个职位空缺,我可能会在我的数据中说:

{
“工作”:“洗碗机”,
“可供查阅:”2017-02-13“,
“开始”:“08:00”,
“结束”:“16:00”,
“tz”:“美国/纽约”
}
这些值将遵循ISO8601格式,仅适用于日期和时间(或者如果我想将它们组合起来,则不指定时区。相反,IANA时区标识符
美国/纽约
(适用于美国东部时间)将在单独的字段中提供

这很重要,因为这项工作可能会持续到未来几个月。3月12日,美国东部时区将从UTC-5更改为UTC-4。因此,不能指定单个偏移量,也不能使用UTC


此外,即使只发生一次,也要记住,一些国家继续改变他们对时区和DST规则的看法,这就是为什么每年都会有几十次更新的原因。如果你要计算未来某个日期和时间的偏移量,当它滚动时,你可能会发现偏移量已经改变由政府发布。

什么样的API?是否涉及特定的格式?您是否可以共享一些使用上下文?请给出明确的示例。这是一个RESTful API,提供并接受包含职位空缺数据的XML和JSON对象。主要在我们自己的国家,但有时在国外。时间戳授权标题中的处理是在unix中进行的。这些信息够了吗?不太够,但我写了一个相当长的综合答案,应该能够解决这方面需要考虑的大部分问题。请务必阅读本文。因此API的时区约定是GMT(=UTC+1)谢谢你的努力和回答。不-我不知道你是如何从我的回答中得到的。GMT==UTC,而不是UTC+1-除了做对你的特定环境有意义的事情之外,没有什么惯例。我给了你一些可能适用于你的情况的不同环境的例子。