2016-11-09 9 views
3

Date.parseを使用して文字列をjavascriptの日付に変換していますが、文字列が '10/11/2016'のように見える場合はOct 11 2016、私は11月10日と解釈する必要があります2016JavaScriptのDate.parseのフォーマットを定義します

提案ですか?デフォルトDate.parseことで

+2

あなたが変更することはできません。関数が受け入れる形式なので、別の形式で書式化する必要があります。または '/'で分割し、 'new Date(year、month-1、day)'という別々の値を渡して日付オブジェクトを作成します。 –

+0

文書によると、フォーマットは次のようにする必要があります: "[RFC2822](http://tools.ietf.org/html/rfc2822#section-3.3)またはISO 8601の日付を表す文字列(他のフォーマットも使用できますが、結果が予期しない可能性があります)。 – Amy

+0

@ Amy - それは[* MDNが言う*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse)かもしれませんが、言語仕様はRFC2822について言及する。 MDNはまた、「* Date.parse ... *を使用することは推奨されません」と述べています。 – RobG

答えて

1

はあなたがDD/MM/YYYYをしたいとあなたのケースでMM/DD/YYYYないように先行していること、この形式で検討してください。

私は/それはこのようになり、あなたの日付文字列形式を取ることができMoment.js

としてサードパーティの日付パーサライブラリを使用することをお勧め好む:

moment("10/11/2016", "DD-MM-YYYY"); 
+2

"デフォルトで"ステートメントがEMCA-262と一致しません。 ISO 8601拡張フォーマットを除いて、Date.parseとDateコンストラクタによる日付文字列の解析は実装に依存します。 – RobG

関連する問題