1

ddMMyyhhmm(たとえば、2012年4月28日午後3時30分を表す2804121530)の形式で日付をjavascript Date()オブジェクトに解析したいと思います。

それに対するワンライナーの解決策はありますか?私はそのようなものを探しています:

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

また

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

手伝ってくれてありがとう!

4

3 に答える 3

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');
于 2012-08-29T05:37:12.077 に答える
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');
于 2012-08-29T05:57:44.063 に答える
0
(new Date(1381344723000)).toUTCString() 

着用している場合は修正してください...

于 2012-08-29T05:34:15.657 に答える