我有奇怪的问题。我必须计算给定日期月份的总周数。
我的逻辑运行良好,它将返回正确的周数,但问题是我的原始日期在计算周期间也发生了变化。
我已将原始日期存储在其他变量中,并将其他变量传递给函数,但原始日期仍然在发生变化。 如何限制更改我的原始日期?
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()" />