於是我就已經發布了關於該代碼的問題(這是回答):的Javascript:錯誤的日期計算
$(document).ready(Main);
function Main() {
ConfigDate();
}
function ConfigDate() {
var currentTime = new Date();
var dayofWeek = currentTime.getDay();
var daysSinceThursday = (dayofWeek + 3) % 7
var lastThursday = new Date(currentTime.getDate() - daysSinceThursday);
var dd = lastThursday.getDate();
var mm = lastThursday.getMonth() + 1;
var yyyy = lastThursday.getFullYear();
$("#last_thursday").text(yyyy + "/" + mm + "/" + dd);
}
現在的問題是,出現在我的手機的日期是1969年的/ 12/31(這甚至不是星期四)。
計算上個星期四日期時我做錯了嗎?
請注意,在此操作之後,'currentTime'也將被設置爲上個星期四,因爲'lastThursday'和'currentTime'都指向同一個'Date'對象。要在不修改'currentTime'的情況下設置'lastThursday',您需要創建一個新的'Date'。複製日期:'var lastThursday = new Date(currentTime.valueOf())'。但是,在這種情況下,你並不需要副本。你可以這樣做:'var lastThursday = new Date()' – gilly3
@ gilly3:好點。我真正想要做的是保持OP代碼的其餘部分不變,但是如果'lastTime'在lastThursday之後被修改'Date',那麼這將是不正確的。我更新了代碼和小提琴 – nachito