我想以格式ddMMyyhhmm解析日期(例如,2804121530表示2012年4月28日下午3:30),以javascript日期()对象。以给定格式解析字符串
是否有任何oneliner解决方案?我在寻找的那种东西:
var date = Date.parse('2804121530', 'ddMMyyhhmm');
或
var date = new Date('2804121530', 'ddMMyyhhmm');
感谢您的帮助!
我想以格式ddMMyyhhmm解析日期(例如,2804121530表示2012年4月28日下午3:30),以javascript日期()对象。以给定格式解析字符串
是否有任何oneliner解决方案?我在寻找的那种东西:
var date = Date.parse('2804121530', 'ddMMyyhhmm');
或
var date = new Date('2804121530', 'ddMMyyhhmm');
感谢您的帮助!
这里有用的图书馆是DateJs。只需添加一个参考:
<script src="http://datejs.googlecode.com/files/date.js"
type="text/javascript"></script>
,并使用Date.parseExact:
var dateStr = '2804121530';
var date = Date.parseExact(dateStr, 'ddMMyyHHmm');
对于一个快速的解决方案,你可以制动该字符串成片,并从这些作品
function myDateFormat(myDate){
var day = myDate[0]+''+myDate[1];
var month = parseInt(myDate[2]+''+myDate[3], 10) - 1;
var year = '20'+myDate[4]+''+myDate[5];
var hour = myDate[6]+''+myDate[7];
var minute = myDate[8]+''+myDate[9];
return new Date(year,month,day,hour,minute,0,0);
}
var myDate = myDateFormat('2804121530');
或傻笑解决方案创建日期:
function myDateFormat(myDate){
return new Date(('20'+myDate.slice(4,6)),(parseInt(myDate.slice(2,4), 10)-1),myDate.slice(0,2),myDate.slice(6,8),myDate.slice(8,10),0,0);
}
var myDate = myDateFormat('2804121530');
您需要在本月的“+ 1”(它基于零),所以您必须至少解析(抱歉 - -1':/')。此外,你可以使用[string.slice](http://stackoverflow.com/q/2243824/7586)删除一些丑陋。 – Kobi
加了'-1' :),因为'Date'从0开始 –
没有这样的内置功能,但你可以看看[这个问题](http://stackoverflow.com/questions/476105/how-can-i-convert-string-to-datetime-with-format-specification-in-javascript) – Witcher42
Hi bellow链接可能对您有用 http://stackoverflow.com/问题/ 1056728/formatting-a-date-in-javascript –