2017年9月1日以降の日付の間違った曜日にこの問題が発生した後、1 statemtent(setDate)のシーケンスを変更すると正しい結果が返されることがわかりました。以下のコードを参照してください。私が1.9.17(2017年9月1日)と入力すると、日曜日に変更されたコードが金曜日に取得されます。誰かが私にそれを説明できますか? FF、Chrome、Edgeで問題が発生します。Javascript Date()は特定の日付で間違った曜日を返します
<body>
<input type="text" onchange="wday(this.value);">
<script>
function wday() {
var x = wday.arguments[0].split(".");
if (x[2].length<4) x[2] += 2000;
var y = new Date();
y.setFullYear(x[2]);
y.setMonth(x[1]-1);
y.setDate(x[0]);
var z = new Array("So","Mo","Di","Mi","Do","Fr","Sa");
alert("wrong "+z[y.getDay()])
wday2(wday.arguments)
}
function wday2() {
var x = wday.arguments[0].split(".");
if (x[2].length<4) x[2] += 2000;
var y = new Date();
y.setDate(x[0]);
y.setMonth(x[1]-1);
y.setFullYear(x[2]);
var z = new Array("So","Mo","Di","Mi","Do","Fr","Sa");
alert("correct "+z[y.getDay()])
}
</script>
</body>
あなたは '17'が本当に' setFullYear'の有効な入力をis'nt、あるいは少なくともそれが勝ったとして、それは – inorganik
を作成しているものの日付を確認すると、私は今年賭けるだろうy'は、間違っている 'ログインする必要がありますt年を2017に設定します – adeneo
https://jsfiddle.net/00mpwz97/ – adeneo