Javascript日期 - 删除时区信息

问题描述 投票:0回答:1

我有一个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()它再次转换时区。

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

node.js date momentjs
1个回答
0
投票

最终我用它来解决问题

    public static NormalizeDate(d, timezone = "America/New_York")
    {
        var a = moment(d);
        var b = a.clone();
        return b.tz(timezone, true).startOf("day"); 
    }
© www.soinside.com 2019 - 2024. All rights reserved.