我想以 ddMMyyhhmm 格式(例如 2804121530 表示 2012 年 4 月 28 日下午 3:30)将日期解析为 javascript Date() 对象。
有没有oneliner解决方案?我正在寻找这样的东西:
var date = Date.parse('2804121530', 'ddMMyyhhmm');
或者
var date = new Date('2804121530', 'ddMMyyhhmm');
感谢帮助!
我想以 ddMMyyhhmm 格式(例如 2804121530 表示 2012 年 4 月 28 日下午 3:30)将日期解析为 javascript Date() 对象。
有没有oneliner解决方案?我正在寻找这样的东西:
var date = Date.parse('2804121530', 'ddMMyyhhmm');
或者
var date = new Date('2804121530', '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');
这里一个有用的库是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');
(new Date(1381344723000)).toUTCString()
如果我穿了,请纠正我...