私はangular.jsアプリケーションを持っていて、今週の月曜日と日曜日の日付を取得したいのですが、デフォルトでカレンダー日付に設定されます。私は7日以内に生産された日付に起因するエラーを見ていました。私は問題を修正した。Javascript new Date 2つの類似した関数呼び出しの異なる時値を生成する
しかし、コードで遊んでいたときに、同様の日付作成コードが1時間ごとに異なる値を生成していたことがわかりました。ここで
var current = new Date(); // get current date
var weekstart = current.getDate() - current.getDay() + 1;
var weekend = weekstart + 6; // end day is the first day + 6
var firstday = new Date(current.setDate(weekstart));
firstday = new Date(firstday.getFullYear() + '-' + (firstday.getMonth() + 1)
+ '-' + firstday.getDate());
console.log("Monday: " + firstday);
//firstday.setHours(0, 0, 0, 0);
var last = new Date(firstday);
last.setDate(last.getDate() + 6);
console.log("Sunday 1: " + last);
var lastday = new Date(last.getFullYear() + '-' + (last.getMonth() + 1)
+ '-' + last.getDate());
console.log("Sunday 2: " + lastday);
Monday: Mon Oct 09 2017 00:00:00 GMT+1100 (AUS Eastern Daylight Time)
Sunday 1: Sun Oct 15 2017 00:00:00 GMT+1100 (AUS Eastern Daylight Time)
Sunday 2: Sun Oct 15 2017 11:00:00 GMT+1100 (AUS Eastern Daylight Time)
なぜ日曜日2で時間フィールドが11として生成なっているが、同じような新しいDateの月曜日のコールは00になりましたか?
これが起こっているが、多分あなたは代わりに、あいまいさを避けるために、 '新しい日付(年、月、日)'コンストラクタを使用した理由はありませんアイデアの確認https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse。 – H77