我想在今天的javascript中找到去年的一周时间吗?
今天是2015年5月18日星期一 去年是2015年5月18日星期日
所以我想得到去年最近的星期一,例如在这种情况下,星期一,18.05.2014。
如何计算?
答案 0 :(得分:1)
<强> JS 强>
// this will get the number of days required to go forward to reach the same day
function forwardDay(begin, end) {
var result = 0;
for (var i = 0; i < 6; i++) {
if (begin == end) return result;
result++;
if (begin == 6) {
begin = 0;
} else {
begin++;
}
}
}
// this will get the number of days required to go forward to reach the same day
function backwardDay(begin, end) {
var result = 0;
for (var i = 0; i < 6; i++) {
if (begin == end) return result;
result++;
if (end == 0) {
end = 6;
} else {
end--;
}
}
}
// gets today
var today = new Date();
// gets the day number of today 0-6
var thisYearDay = today.getDay();
// sets to last year
today.setYear(today.getFullYear() - 1);
// gets last years day 0-6
var lastYearDay = today.getDay()
// calculates the number of days it would be going backwards
var backward = backwardDay(lastYearDay, thisYearDay);
// gets the number of days it would be going forwards
var forward = forwardDay(lastYearDay, thisYearDay);
console.log(backward);
console.log(forward);
// figuring out which was was shorter
if (forward < backward) {
today.setDate(today.getDate() + forward);
} else {
today.setDate(today.getDate() - backward);
}
// DONE!
console.log(today);
答案 1 :(得分:0)
使用d.setMonth(date.getMonth() -- 12);
获取去年的某一天,使用var n = d.getDay();
获取星期几。
0是星期日,1是星期一
下次首先使用谷歌; - )
答案 2 :(得分:0)
只需使用Date
以下是一个例子:
var a = new Date();
var day = a.getDay();
a.setYear(1900+a.getYear()-1);
a.setDate(a.getDay()- day -1 );
alert(a);
&#13;
答案 3 :(得分:0)
如果您想使用JavaScript的内置函数之一,可以使用Date对象。或者,如果您想自己使用Zeller's Rule来计算星期几。