在Moment JS中管理时区

时间:2020-08-07 19:50:53

标签: node.js momentjs

我知道这个问题有点笼统,但请耐心等待。我有一个应用程序,它基本上是根据用户时间表发布到网站上的。现在,该应用程序可以在本地使用js即时操作,以将计划的日期/时间与当前时间进行比较,然后,如果当前时间已超过计划的时间,则意味着它应该启动自动发布过程。当我将应用程序部署到生产环境时,由于时区不同,这里的时间与此处的时间不同,因此会出现问题。我如何确保(在js中)用户在世界任何角落计划的任何时间,服务器都会相应地发布它,并且不会开始检查它在那里的时间。在撰写本文时为您提供一个示例,这里是PST的星期六08/08/2020 00:48,服务器时间是2020年7月7日星期五。因此,如果我在这里安排凌晨1点,那么这里只有10分钟到凌晨1点,但是对于服务器来说则是几个小时。我该如何处理?任何想法或为我指明正确的方向都将非常有帮助,谢谢您的时间。

2 个答案:

答案 0 :(得分:2)

您可以在datetime变量上使用moment.utc(),然后有2个选项。 使您的系统始终基于utc时区工作,或者使用时区时区库将utc日期时间转换为所需的任何时区。

https://momentjs.com/timezone/

答案 1 :(得分:1)

可能有多种方法可以解决此问题。 一种方法是,您可以计算从创建时间(当前时间)开始发布内容的秒数,而不是从用户选择的时间开始的浏览器确切时间,然后将其发送到服务器以存储和运行逻辑相应地在服务器上。