「2012-12-29T20:00:00Z」のようなタイムスタンプがあります。それを月と日付に変換する最良の方法は何ですか?のようなものDec 29
。
3 に答える
1
そうする簡単な方法はないと思います。しかし、この目的のためのライブラリがいくつかあります。このように
ローカリゼーションの問題を気にしない場合は、内部の Date オブジェクトのプロトタイプを使用してください。
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date
于 2012-05-29T06:37:08.763 に答える
0
組み込みDate
オブジェクトを使用します。
// Date.parse parses an ISO date
var d = new Date( Date.parse( '2012-12-29T20:00:00Z' ) );
console.log( d.toString() ); // "Sat Dec 29 2012 21:00:00 GMT+0100 (Paris, Madrid)"
console.log( d.toString().substr( 4, 6 ) ); // "Dec 29"
substr
日は常に 3 文字、月は常に 3 文字、日付は常に 2 文字であるため、常に機能することに注意してください。
を使用したくない場合はsubstr
、「12 月」を直接取得する方法はありません。ただし、次のようにマッピング配列で遊ぶことができます。
console.log( d.getMonth() ); // 11
var mapping = [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ];
console.log( mapping[ d.getMonth() ] + ' ' + d.getDate() ); // "Dec 29"
これは、 と同様に、配列のインデックスが 0 から始まるという事実を利用していd.getMonth()
ます。
の IE8 サポートについては、次のシム ( ES5-shimDate.parse
から) を使用することをお勧めします: https://gist.github.com/303249
于 2012-05-29T06:52:51.043 に答える