当从 Twitter 的 API 为用户获取信息时,它们提供了两个与用户时区相关的字段:
utc_offset: -14400,
time_zone: "Indiana (East)"
不幸的是,这并不能说明全部情况,因为我不知道 UTC 偏移量是在标准时间还是夏令时计算的。除以 3600 秒后,我得到 -4 小时,这在夏季有效,但在冬季,正确的值为 -5 小时。
如果该值始终由夏令时值确定,那么我可以为此编写一个算法,但是在对该主题进行一些搜索之后,我看到了几个与该假设相矛盾的粘贴输出。(举个简单的例子,这个问题将他/她的偏移量显示为 -21600,然后他/她说他/她处于中央时间,如果在夏令时计算,则为 -18000)。
对我来说,该值将从 1 月 1 日开始计算,并且我在网上找到的几个粘贴输出属于该类别,但我自己的 Twitter 帐户显示了上面列出的值,对此假设无效。我的下一个想法是它可能是在我创建帐户时计算的,但这似乎也是错误的,因为我可以在以后的任何时候更改我的时区(即便如此,我在 11 月创建了我的帐户,而我本来应该是在标准时间而不是白天时间!)。
我最后的想法是,该值可能是按 API 请求的日期计算的。这很有意义,我拥有的所有 Twitter 帐户似乎都验证了这一点。但是,我之前链接到的 SA 问题显示该人在 6 月 2 日回答了这个问题,这是夏令时,他/她的值 -21600 反映了中央时区的标准时间。
有没有人解决这个问题?非常感谢!