【发布时间】:2014-10-17 16:01:39
【问题描述】:
在我的应用程序中,用户选择日期 + 时间和时区。此选择必须以他们自己的时区显示给其他用户,这意味着如果来自纽约的用户 A 选择美国东部时间 8 月 8 日凌晨 3:00,来自北京的用户 B 将看到此日期时间转换为中国标准时间 (CST)。
我认为要做到这一点 - 好的,我保存用户 A 的日期并告诉他从 4 个时区中进行选择。服务器端我使用时刻时区将其从他的 EDT 选择转换为 UTC,并将其保存为数据库中的 UTC,这样当我阅读它时,我会根据他们自己的时区将其转换回其他用户。
这是一个正确的方法还是我把事情复杂化了?目的是用户A可以选择她想要的时区,数据库保存为标准化的UTC,目标用户在他自己的时区看到。
(我在服务器端使用 node.js) 谢谢,
【问题讨论】:
-
什么是“标准化 UTC”?您必须存储时区,不是吗?喜欢
"CST"或-6。 -
你的做法绝对正确。
-
@Rudie - 是的,正确;我想我将日期存储为 UTC,并在时区“CST”中存储一个单独的字段。
-
@ScottCramer 谢谢!
标签: javascript node.js datetime timezone momentjs