奇妙な問題があります。指定された日付の月の合計週数を計算する必要があります。
私のロジックは完全に機能しており、正しい週番号が返されますが、問題は、週の計算中に元の日付も変更されたことです。
元の日付を他の変数に保存し、他の変数を関数に渡しましたが、元の日付も変更されています。 元の日付の変更を制限するにはどうすればよいですか?
var currentDate;
$(document).ready(function () {
currentDate = new Date();
});
function goNextMonth() {
var dt = currentDate;
console.log("Before Date: " + currentDate);
var weeks = getWeeksOfMonth(dt);
console.log("After Date: " + currentDate + ", Weeks: " + weeks);
}
function getWeeksOfMonth(date) {
var firstDay = new Date(date.setDate(1)).getDay();
var totalDays = new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();
return Math.ceil((firstDay + totalDays) / 7);
}
コソールログ:
HTMLコード
<input type="button" value="Next Month" onclick="goNextMonth()" />