Javascript日期 - 删除时区信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript日期 - 删除时区信息相关的知识,希望对你有一定的参考价值。

我有一个Web应用程序,我的用户在纽约,但管理员遍布全球。用例很简单。管理员单击日期并添加一些注释。用户登录应用程序时,单击相同日期并查看备注

问题是时区。当印度管理员在2019年1月1日添加数据时,他的数据将被添加到2018年12月31日,因为服务器正在将传入的IST转换为EST。这打破了应用程序。

我无法处理个别时区。所以我想确保前端总是在EST中通过日期而不管当地时区

 private normalizeDate(d)
{
    let noTime = moment(d).format("L");
    let m = moment(noTime).tz("America/New_York");
    alert("no time :"+noTime);
    alert("normalized :"+m.format("L"));
}

我尝试了这个功能,我在当地时区(d)获取日期并删除所有信息。转换为字符串,然后将其解析回我的EST时区。

很明显每当我打电话。 moment()。tz()它再次转换时区。

不知道什么是最好的解决方案?

答案

最终我用它来解决问题

    public static NormalizeDate(d, timezone = "America/New_York")
    {
        var a = moment(d);
        var b = a.clone();
        return b.tz(timezone, true).startOf("day"); 
    }

以上是关于Javascript日期 - 删除时区信息的主要内容,如果未能解决你的问题,请参考以下文章

日期、时间、DSL 和时区信息处理

JavaScript:将 UTC 日期时间转换为传递时区的日期时间

删除时区 jquery

如何在Javascript中将日期转换为其他时区[重复]

带有时区信息的日期时间模块中的python timedelta计算[重复]

在JavaScript中将日期转换为另一个时区