到目前为止,以给定格式解析字符串

时间:2012-08-29 05:22:35

标签: javascript datetime

我想以ddMMyyhhmm格式解析日期(例如代表2012年4月28日下午3:30的2804121530)到javascript Date()对象。

有没有任何oneliner解决方案?我正在寻找类似的东西:

var date = Date.parse('2804121530', 'ddMMyyhhmm');

var date = new Date('2804121530', 'ddMMyyhhmm'); 

感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

对于快速解决方案,您可以将该字符串制成碎片并从这些碎片中创建日期

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 :(得分:2)

这里有用的库是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');

答案 2 :(得分:0)

(new Date(1381344723000)).toUTCString() 

如果'我错了,请纠正我......