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

Javascript 矩库在IE10中返回不同的时间-日期格式,但在chrome中工作正常,javascript,momentjs,timezone-offset,timestamp-with-timezone,moment-timezone,Javascript,Momentjs,Timezone Offset,Timestamp With Timezone,Moment Timezone,moment.tz(“2019-11-03T06:45:01.000Z”,“美国/芝加哥”).toDate() 在chrome和IE11中返回“2019年11月3日01:45 CDT”,但在IE10中,我得到的输出是 “2019年11月2日星期六20:45:01 CDT”。 我观察到一些奇怪的事情,实际的格式问题是从timezone js函数tz where开始的 out=time.utc.apply(空,“2019-11-03T06:45:01.000Z”) 编辑-控制台中的错误,我稍后看到:

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

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

我观察到一些奇怪的事情,实际的格式问题是从timezone js函数tz where开始的

out=time.utc.apply(空,“2019-11-03T06:45:01.000Z”)

编辑-控制台中的错误,我稍后看到:
尚未为此对象提供区域设置数据,这是因为IE10中未加载区域设置数据,通过将区域设置动态导入并添加到浏览器中解决了这一问题

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

const locale = navigator.language
        || 'en-US';
const localeWithoutRegionCode = locale.toLowerCase().split('-')[0];
addLocaleData(require( `intl/locale-data/jsonp/${localeWithoutRegionCode}`));

toDate
为您获取一个本机日期对象,因此是隐式调用该对象的toString方法时获得的默认“格式”,这在不同的浏览器中完全不同。如果你想在任何地方使用特定的格式,那么就使用矩的格式化方法来获得它,而不是依赖于隐式功能。因此,这就像我只想在DST不明确的情况下显示时区一样,在所有其他情况下,我不想显示时区,所以我想使用toDate()