所以我刚发布了一个关于此代码的问题(已经回答):
$(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(甚至不是星期四)。
在计算上周四的日期时,我做错了吗?
答案 0 :(得分:3)
这是因为.getDate()
返回该月的某一天。因此,您根据小于30的序列号建立日期,甚至不会将秒数设置为高于1。
使用.setDate()
代替建立新日期:
date.setDate(date.getDate() - daysSinceThursday);
.setDate()
将修改您现有的日期对象,但不会返回新日期。
答案 1 :(得分:2)
您尝试仅根据上周四的某一天设置日期。尝试这样的事情:
var daysSinceThursday = (dayofWeek + 3) % 7;
var lastThursday = new Date(currentTime.getTime());
lastThursday.setDate(currentTime.getDate() - daysSinceThursday);
var dd = lastThursday.getDate();
var mm = lastThursday.getMonth() + 1;
var yyyy = lastThursday.getFullYear();