如何在javascript中找到去年日期的确切工作日
How to find the exact weekday of last year for a date in javascript?
我想在javascript中找到去年的星期日期?
今天是星期一,2015年5月18日去年是星期日,2015年5月18日
所以我想要得到去年最近的星期一,例如在本例中是星期一,18.05.2014。
如何计算?
jsFiddle
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);
直接使用Date
下面是一个例子:
var a = new Date();
var day = a.getDay();
a.setYear(1900+a.getYear()-1);
a.setDate(a.getDay()- day -1 );
alert(a);
用d.setMonth(date.getMonth() -- 12);
得到去年的日期,用var n = d.getDay();
得到星期几。
0为星期日,1为星期一
下次先用google;-)
如果您想使用JavaScript的内置函数之一,可以使用Date对象。或者,如果您想自己计算星期几,请使用泽勒规则。
相关文章:
- 在Javascript中计算两个日期之间的工作日,节假日除外
- 如何从用户输入的日期中获取工作日
- 在jquery日期选择器中禁用日期和特定工作日
- 带额外日期的工作日Javascript
- 如何在javascript中根据周数、工作日和年份获取日期
- 如何计算'工作日'使用moment.js在Javascript中的两个日期之间
- 如何在javascript中获取当前日期的第n个工作日
- 使用 Javascript 从日期中减去工作日
- 如何添加工作日到日期
- 时刻 js 在给定指定工作日的情况下获取下一个日期
- 如何获取特定工作日的日期,然后格式化
- 使用 MomentJS 获取两个日期之间的工作日
- 计算日期之间特定工作日的数量
- 隐藏具体日期,只显示工作日
- 确定日期是周末还是工作日
- 在Javascript中计算日期之间的特定工作日并排除假日
- 自定义工作日日期验证需要实现或识别区域性
- Javascript Date()对于某些日期返回错误的工作日
- 动态获取特定工作日最后发生的日期
- 在日期选择器中启用一天作为工作日