这个问题在这里已有答案:
我正在将一个简单的日期String转换为Date对象。以下代码适用于除Firefox以外的所有浏览器。
var dateString = "02-24-2014 09:22:21 AM";
var dateObject = new Date(dateString);
console.log(dateObject.toDateString());
Firefox中的Firebug控制台说Invalid Date
。我在这做错了什么?
我也尝试用qazxsw poi替换qazxsw poi,但它没有帮助。
是否可以在不使用任何库的情况下执行此操作?
看起来Firefox不喜欢-
中的\
。
使用正则表达式将所有出现的-
替换为dateString
,然后将该字符串转换为-
对象。
/
尝试:Date
dd-mm-yyyy不是EcmaScript中的标准日期格式。有些浏览器实现它,有些则没有。
您尝试用反斜杠替换连字符,但您需要用斜杠替换它们。
如果带有连字符的日期来自您的服务器或某些东西,您可以使用var str = '02-24-2014 09:22:21 AM';
str = str.replace(/-/g,'/'); // replaces all occurances of "-" with "/"
var dateObject = new Date(str);
alert(dateObject.toDateString());
方法和正则表达式替换它们:
var dateString = "02/24/2014 09:22:21 AM"
请试试这个:
var dateString =“02-24-2014 09:22:21 AM”;
var dateObject = new Date();
dateObject.toDateString(dateString);
我建议你使用,
replace
moment.js jQuery api。它适用于所有浏览器。有很多方法可以完成同样的任务。但最简单的方法是添加moment.js。
var dateString = "02-24-2014 09:22:21 AM";
dateString = dateString.replace(/-/g, '/');
http://momentjs.com/
我建议你使用ISO8601( var dateString=moment('date as string').toDate();
)格式:YYYY-MM-DD或YYYY-MM-DDTHH:MM:SS。
所以:http://jsfiddle.net/cTcNK/5/
如果字符串是固定的...然后拆分它并使用Date构造函数
http://en.wikipedia.org/wiki/ISO_8601