以下是我从后端"2017-05-23T18:30:00"
收到的日期,
这在Chrome中运行良好:
new Date('2017-05-23T18:30:00').toString()
"Wed May 24 2017 00:00:00 GMT+0530 (India Standard Time)"
但是在Internet Explorer上:
new Date('2017-05-23T18:30:00').toString()
"Tue May 23 2017 18:30:00 GMT+0530 (India Standard Time)"
,当我在Chrome中获取时,可以从Internet日历中的UTC日期获取本地日期时间吗?
答案 0 :(得分:1)
您可以使用moment.utc
来解析输入的跨浏览器。然后,您可以使用format()
来显示您的时刻对象。如果您需要将时刻对象转换为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>
&#13;
答案 1 :(得分:0)
IE浏览器将采用&#39; mm-dd-yy&#39;的格式。如果你提供的格式为&#39; yy-mm-dd&#39;结果无效日期。
使用以下函数将UTC转换为LocalDate。
function convertUTCDateToLocalDate(utcDate) {
var formattedDate = utcDate.getMonth()+'-'+utcDate.getDate()+'-'+utcDate.getFullYear();
var hours = utcDate.getHours();
var minutes = utcDate.getMinutes();
var seconds = utcDate.getSeconds()
var newDate = new Date(formattedDate + ' ' + hours + ':' + minutes+":"+seconds+" UTC");
return newDate;
}
var localDate = convertUTCDateToLocalDate(yourUTCDate);