在没有时区调整的情况下显示本地化JS日期

时间:2018-01-26 18:02:11

标签: javascript angularjs localization angular-moment

My Angular前端通过REST请求获取时间戳到同一时区的服务器。服务器不以UTC格式存储时间戳。 我想:

  1. 以本地化方式显示日期和时间
  2. 保持显示的完全相同的时间(我不想要任何时区调整)
  3. 例如: 来自服务器的时间戳字符串: 2017-09-20T17:45:00

    我需要将其显示为本地化:

        mercredi 20 septembre 2017 17:45 (french)
        Wednesday, September 20th, 2017 5:45 PM (english)
    

    在2台不同的机器上,即使操作系统配置了相同的时区,我也会得到不同的结果:     (UTC + 01:00)布鲁塞尔,哥本哈根,马德里,巴黎

    在机器1上:         2017年9月20日星期三下午6:45 //(英语)KO !!

    在机器2上:         2017年9月20日星期三下午5:45 //(英语)好的

    目前,代码为:

    jsDate = new Date(dateTimeStr);
    localizedDateTime = moment(jsDate).local().format('LLLL');
    

    始终获取下午5:45的安全方法是什么?

    由于

1 个答案:

答案 0 :(得分:0)

你错误地使用了。

  • 原生javascript Date不一定能正确解析该字符串。
  • 时刻会。

从文档String + Format开始。

localizedDateTime = moment(dateTimeStr, "YYYY-MM-DDTHH:mm:ss").local().format('LLLL');