1

JavaScript 関数に '30/05/1981' などの文字列があります。こんなデートに変えてしまうなんて…

new Date(arguments.Value)

しかし、Chrome で日付を使用しようとすると、「無効な日付」エラーが発生します。

他のすべてのブラウザでは問題なく動作します。

Chromeでこれを行うにはどうすればよいですか?

4

3 に答える 3

1

私はブラウザーに依存しません (クライアントの日付形式が異なる場合があるため)。

日付パーサーを作成するか、datejsSugarJSなどの日付ライブラリを使用することをお勧めします

于 2013-01-08T17:32:14.680 に答える
1

これは、日付が次の形式である必要があるためですMM/DD/YYYY

new Date("30/05/1981".replace(/^(\d{2})\/(\d{2})/, "$2/$1"));

ただしYYYY/MM/DD、正常に動作するはずです:

new Date("30/05/1981".split("/").reverse().join("/"));
于 2013-01-08T17:31:07.687 に答える
0

DD/MM/YYYYこれはvsの競合に由来し、MM/DD/YYYYChrome後者のみを使用して解決します。日付を別の方法で入力するか、文字列の一致を行う必要があります。

var dateMatch = arguments.Value.match(/(\d\d)\/(\d\d)\/(\d\d\d\d)/);
new Date(+dateMatch[3], +dateMatch[2], +dateMatch[1]);
于 2013-01-08T17:33:01.743 に答える