【问题标题】:Javascript: Get Tomorrow start of time with specific timezoneJavascript:获取特定时区的明天开始时间
【发布时间】:2020-07-13 10:16:07
【问题描述】:

我是 momentjs 的新手,遇到了一个问题。我必须在每天开始时从 mongoDB 中清除文档。示例:必须在 2020-07-14T00:00:00:000z 清除数据。我已经为它添加了 TTL。

这是我添加的。

    const date  = new Date();
    date.setDate(date.getDate() + 1);
    date.setHours(0);
    date.setMinutes(0);
    date.setSeconds(0);
    date.setMilliseconds(0);

问题是运行代码的 pod 是 UTC 时间。 IE; UTC 时间晚上 9:00(服务器 pod 时间)-> 完成时间上午 12:00 -> IST 上午 02:30(我的当地时间)。有什么方法可以让我以上述格式使用“欧洲/赫尔辛基”时区开始一天,以便在我的服务器中完成时间 12.00AM,文档应该被清除。

任何帮助将不胜感激。

提前致谢

【问题讨论】:

    标签: javascript node.js date momentjs moment-timezone


    【解决方案1】:

    如果您希望您的应用在与服务器中的时区不同的时区运行,则需要将时间偏移为小时,这会导致服务器时间与本地时间之间存在差异。

    例如,EUST(欧洲/赫尔辛基)是 +3GMT。如果您希望操作与您的本地时间对齐,则需要将此偏移量添加到比较等式中。

    const offsetEUST = 3;
    
    const date  = new Date();
    date.setDate(date.getDate() + 1);
    date.setHours(0 + offsetEUST );
    date.setMinutes(0);
    date.setSeconds(0);
    date.setMilliseconds(0);
    

    【讨论】:

    • 我会试试这个,有什么办法可以实现同样的时刻吗?
    • 您可以使用 moment.add 和 .startOf('day') 作为替代品
    猜你喜欢
    • 2011-12-20
    • 2022-12-03
    • 2016-07-02
    • 2022-01-18
    • 2019-06-14
    • 2016-01-19
    • 2011-11-05
    • 2020-09-25
    • 2012-01-02
    相关资源
    最近更新 更多