相对简单的JavaScript在这里,不知道为什么IE浏览器恨我(你要如何处理,我想对待别人)。
var newDate = new Date("2012, 11, 2 19:30:00:000");
alert(newDate);
这适用于Chrome和FF,但IE浏览器输出“无效的日期”
小提琴我: http://jsfiddle.net/k6yD6/
相对简单的JavaScript在这里,不知道为什么IE浏览器恨我(你要如何处理,我想对待别人)。
var newDate = new Date("2012, 11, 2 19:30:00:000");
alert(newDate);
这适用于Chrome和FF,但IE浏览器输出“无效的日期”
小提琴我: http://jsfiddle.net/k6yD6/
给予日期构造函数的字符串应该是RFC2822或ISO 8601格式的日期 。 在你的例子事实并非如此。 尝试以下方法:
new Date("2012-11-02T19:30:00.000Z");
或者使用可替换的构造 :
new Date(2012, 11, 2, 19, 30, 0)
IE浏览器似乎不支持毫秒和几个月在数字串。 试试这个:
new Date("November 2, 2012 19:30:00");
要么
new Date(year, month, day, hours, minutes, seconds, milliseconds)
我有与Internet Explorer相同的问题。 这就是我如何格式化日期和时间开始,
function formatDateTime(date, formatString = 'MM/DD/YYYY hh:mm A') {
return moment(new Date(date)).format(formatString);
}
问题是与new Date()
我只是删除它,因为它已经是一个UTC
日期。 因此,它是正义的,
return moment(date).format(formatString);
这在所有的浏览器包括IE为我工作。
要在工作的IE
,日期应该是在正确的格式。 我用下面的格式固定的同样的问题:
var tDate = new Date('2011'+"-"+'01'+"-"+'01'); //Year-Month-day
使用
var newDate = moment("2012, 11, 2 19:30:00:000").toDate();
alert(newDate);
这将在IE工作了。
看看Mozilla的最新参考。
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date
别客气!