在Javascript中解析’Date&Time’字符串,它是自定义格式

我必须解析格式为“2015-01-16 22:15:00”的日期和时间字符串。 我想将其解析为JavaScript Date Object。 对此有何帮助?

我尝试了一些jquery插件,moment.js,date.js,xdate.js。 仍然没有运气。

使用moment.js,您可以使用String + Format构造函数创建一个时刻对象:

var momentDate = moment('2015-01-16 22:15:00', 'YYYY-MM-DD HH:mm:ss'); 

然后,您可以使用toDate()方法将其转换为JavaScript Date Object:

 var jsDate = momentDate.toDate(); 
 new Date("2015-01-16T22:15:00") 

请参见Date.parse() 。

该字符串必须采用ISO-8601格式。 如果要解析其他格式,请使用moment.js 。

 moment("2015-01-16 22:15:00").toDate(); 

一个更好的解决方案,我现在使用date.js – https://code.google.com/p/datejs/

我将脚本包含在我的html页面中 –

  

然后我简单地解析日期字符串“2015-01-16 22:15:00”并指定格式为,

 var dateString = "2015-01-16 22:15:00"; var date = Date.parse(dateString, "yyyy-MM-dd HH:mm:ss"); 

我试图使用moment.js伙计们。 但是由于我遇到了这个错误,“ReferenceError:时刻没有定义”,我现在不得不跳过它。 我现在正在使用临时解决方法。

 function parseDate(dateString) { var dateTime = dateString.split(" "); var dateOnly = dateTime[0]; var timeOnly = dateTime[1]; var temp = dateOnly + "T" + timeOnly; return new Date(temp); } 

如果您确定它具有所需的格式并且不需要进行错误检查,则可以使用拆分手动解析(并可选择替换)。 我需要在我的项目中做类似的事情(MM / DD / YYYY HH:mm:ss:sss)并修改我的解决方案以适合您的格式。 注意一个月减去1。

 var str = "2015-01-16 22:15:00"; //Replace dashes and spaces with : and then split on : var strDate = str.replace(/-/g,":").replace(/ /g,":").split(":"); var aDate = new Date(strDate[0], strDate[1]-1, strDate[2], strDate[3], strDate[4], strDate[5]) ;