4

次のコードが私の日付を文字列に出力しないのはなぜですか!?

var d1 = Date.parse('10/29/1990 12:00:00 AM');
console.log(d1.toString('dd/MM/yyyy'));

エラーは次のとおりです。

Uncaught RangeError: toString() radix 引数は 2 から 36 の間でなければなりません

日付をフォーマットしようとしているだけです...

4

2 に答える 2

9

d1Dateではなく数字だからです。Date.parseミリ秒表現を返します。それをコンストラクターに直接フィードするnew Dateか、コンストラクターを使用する必要がありますDate

また、JavaScript にはネイティブの日付書式設定関数がないため、実装依存のtoStringandtoLocalString と標準化されたtoISOStringandしかtoUTCStringありません (ただし、古い IE ではサポートされていません)。代わりに、単一のコンポーネントを取得してそれらを連結することにより、手動でフォーマットを行う必要があります。幸いなことに、それを支援するライブラリがたくさんあります。

于 2013-05-13T19:03:22.533 に答える
2

JavaScriptDate.prototype.toStringメソッドはパラメーター (フォーマットなど) を取りません。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toString

を使用Date.prototype.toLocaleDateStringすると役立つ場合があります:d1.toLocaleDateString('en')私にとってはうまくいきますが、ここですべての細字をチェックしてください:

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toLocaleString

于 2013-05-13T16:51:23.323 に答える