javascript - 在 Internet Explorer 中无法将 UTC 日期转换为本地日期

标签 javascript date internet-explorer-11 momentjs datejs

这是我从后端 “2017-05-23T18:30:00” 收到的日期,

这在 Chrome 中运行良好:

  • 调用:new Date('2017-05-23T18:30:00').toString()
  • 结果:“2017 年 5 月 24 日星期三 00:00:00 GMT+0530(印度标准时间)”

但是在 Internet Explorer 上:

  • 调用:new Date('2017-05-23T18:30:00').toString()
  • 结果:“2017 年 5 月 23 日星期二 18:30:00 GMT+0530(印度标准时间)”

在进入 Chrome 时如何在 Internet Explorer 中从 UTC 日期获取本地日期时间?

最佳答案

您可以使用 moment.utc解析您输入的跨浏览器。然后你可以使用format()显示您的时刻对象。如果你需要将 moment 对象转换为 JavaScript 日期,你可以使用 toDate()方法。

使用local()如果您想将您的时刻转换为本地时间。

参见 Local vs UTC vs Offset了解更多信息。

这里是一个活生生的例子:

var input = '2017-05-23T18:30:00';
var m = moment.utc(input);
console.log(m.format());
console.log(m.toDate().toString());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

关于javascript - 在 Internet Explorer 中无法将 UTC 日期转换为本地日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43977760/

相关文章:

javascript - fullPage.js 不滚动

javascript - IE11 上纯 JavaScript 中的 Angular

OnClick 的 JavaScript 错误

javascript - 使用 i18 翻译库翻译警报消息

javascript - 这条路是什么意思呢?

java - 如何根据 Macintosh 时间打印以毫秒为单位的日期

javascript - 为什么这在 JavaScript 中返回 -1

linux - 获取具有最新日期名称的文件夹

ajax - jquery ajax 在从服务器获取响应之前命中错误回调 - IE11

javascript - IE11上worker中的事件构造函数?