【发布时间】:2015-11-27 21:17:06
【问题描述】:
假设您网站的用户选择天数和帐户时区:
2015-09-02 14:15:00
2015-09-02 15:30:00
2015-09-03 17:10:00
时区:“America/Los_Angeles"
您将这些信息发送并保存在服务器上,服务器应该在用户需要的完全相同的本地时间执行 A 函数。稍后用户可以将他的时区更改为"Europe/Stockholm",我们会根据该时区重新调整日期。
从客户端到服务器的流程应该是什么样子?我的行动是什么?互联网上有很多错误和错误的信息,我真的需要一些可靠的建议。
这是我想出的:
我将这个 javascript 对象保存到数据库中
moment.tz("2015-09-02 14:15:00", "America/Los_Angeles").toDate()
根据这个日期我执行函数,如果我们需要重新计算时区,我们只需要几天/时间并使用相同的东西。
我了解到这种方式可能无法适应夏令时,这是错误的。帮忙?
【问题讨论】:
-
在momentjs中,您有一个功能可以知道是否是DST momentjs.com/docs/#/query/is-daylight-saving-time可以帮助您?
-
@romuleald 是的,我可以看到,但如果是/否,我真的不知道我能做什么......我不太了解日期的复杂性
-
如果返回 true 则加一小时
-
@romuleald - 这不是必需的,实际上会使事情变得更糟。您永远不需要手动操纵时间。
-
@MattJohnson 浏览器会自动执行,对吗?
标签: javascript date timezone momentjs