Moment库在IE10中返回不同的时间日期格式,但在chrome中工作正常

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

moment.tz(“ 2019-11-03T06:45:01.000Z”,“美国/芝加哥” ..toDate()

此返回“” Nov 3,2019,01:45 CDT“在Chrome和IE11中,但在IE10中,我得到的输出是“ CDT 2019年11月2日星期六20:45:01”。

[我观察到一些奇怪的东西,而实际的格式化问题是在moment-timezone-js函数tz中开始的,其中

out = moment.utc.apply(null,“ 2019-11-03T06:45:01.000Z”);

编辑-控制台中的错误,我稍后会看到:尚未为此对象提供语言环境数据]

javascript momentjs timezone-offset timestamp-with-timezone moment-timezone
1个回答
0
投票

之所以发生这种情况,是因为在IE10中未加载区域设置数据,而通过在浏览器中动态导入和添加区域设置可以解决此问题。

解决我的问题的代码正在使用:

const locale = navigator.language
        || 'en-US';
const localeWithoutRegionCode = locale.toLowerCase().split('-')[0];
addLocaleData(require( `intl/locale-data/jsonp/${localeWithoutRegionCode}`));
© www.soinside.com 2019 - 2024. All rights reserved.