我有文本框(id ='txtCalendarSeventh'),它有一个与之关联的日历控件。在从日历中选择任何日期时,我将以格式 - Apr-21-2014获取文本框中的值。
我使用以下javascript代码 -
var dateresult = document.getElementById('txtCalendarSeventh').value;
var d = new Date(dateresult);
alert(d);
此代码在chrome中工作正常,并显示正确的日期值。但是在Firefox或Internet Explorer中它显示的是Nan.Nan.Nan等而不是正确的日期。
答案 0 :(得分:4)
您可以做的最好的事情是使用ISO格式:YYYY-MM-DD或YYYY-MM-DDTHH:MM:SS
例如:
new Date('2011-04-11')
或
new Date('2011-04-11T11:51:00')
更多信息:MDN |日期
编辑:
对于旧的Internet Explorer兼容性(小于9的IE版本在Date构造函数中不支持ISO格式),您应该将日期时间字符串表示形式拆分为它的部分,然后您可以使用构造函数使用日期时间部分,例如:new Date('2011 ','04' - 1,'11','11','51','00')
请注意,月份数必须少1个。
答案 1 :(得分:1)
“Apr-21-2014”不是有效的日期字符串,尽管某些浏览器可能会识别它。例如,“2014年4月21日”应该有效。
有关完整列表,请参阅http://msdn.microsoft.com/en-us/library/az4se3k1%28v=vs.110%29.aspx。