Javascript Datejs计算一周中的下一天和上一天
我使用datejs,我想得到三个按钮,Javascript Datejs计算一周中的下一天和上一天,javascript,datejs,Javascript,Datejs,我使用datejs,我想得到三个按钮, 今天:生成本周的两个日期限制,即本周的周一和周日 下一步:生成下周的两个日期限制 上一周:生成上一周的两个日期限制 这里是我的代码 var currentDay = 0; (currentDay).days().fromNow().next().saturday().toString("yyyy-M-d"); (currentDay).days().fromNow().prev().monday().toString("yyyy-M-d"); 这三个
今天:生成本周的两个日期限制,即本周的周一和周日
下一步:生成下周的两个日期限制
上一周:生成上一周的两个日期限制
这里是我的代码
var currentDay = 0;
(currentDay).days().fromNow().next().saturday().toString("yyyy-M-d");
(currentDay).days().fromNow().prev().monday().toString("yyyy-M-d");
这三个按钮可以
当天+7;第7天;currentDay=0
问题是我们是星期一22,这个函数返回我星期一15
前一段时间我已经为此编写了一些代码:
Date.prototype.getMonday=function(){return this.getDay()==1 ? this.clone().clearTime() : this.clone().prev().monday().clearTime();};
// This function returns the Monday of current week
var today=new Date();
today.getMonday().toString();
today.getMonday().next().sunday().toString();
// start and end of this week
today.getMonday().prev().monday().toString();
today.getMonday().prev().day().toString();
// previous week
today.getMonday().next().monday().toString();
today().getMonday().next().sunday().sunday().toString();
// next week
这些可能会有所帮助。下面的示例
.getWeekRange()
函数接受一个日期对象(或默认为“今天”),将计算出该周的星期一,然后返回一个带有该周的开始
和结束
属性的对象
示例
var getWeekRange = function (date) {
var date = date || Date.today(),
start = date.is().monday() ? date : date.last().monday(),
end = start.clone().next().sunday();
return {
start : start,
end : end
};
};
var range = getWeekRange();
console.log("Start", range.start);
console.log("End", range.end);
var prev = getWeekRange(Date.today().last().week());
var next = getWeekRange(Date.today().next().week());
然后,您可以使用该函数获取任意给定日期的周范围:
示例
var getWeekRange = function (date) {
var date = date || Date.today(),
start = date.is().monday() ? date : date.last().monday(),
end = start.clone().next().sunday();
return {
start : start,
end : end
};
};
var range = getWeekRange();
console.log("Start", range.start);
console.log("End", range.end);
var prev = getWeekRange(Date.today().last().week());
var next = getWeekRange(Date.today().next().week());
要获取前一周,只需传入前一周的日期对象:
示例
var getWeekRange = function (date) {
var date = date || Date.today(),
start = date.is().monday() ? date : date.last().monday(),
end = start.clone().next().sunday();
return {
start : start,
end : end
};
};
var range = getWeekRange();
console.log("Start", range.start);
console.log("End", range.end);
var prev = getWeekRange(Date.today().last().week());
var next = getWeekRange(Date.today().next().week());
要获取下周,只需传入下周的日期对象:
示例
var getWeekRange = function (date) {
var date = date || Date.today(),
start = date.is().monday() ? date : date.last().monday(),
end = start.clone().next().sunday();
return {
start : start,
end : end
};
};
var range = getWeekRange();
console.log("Start", range.start);
console.log("End", range.end);
var prev = getWeekRange(Date.today().last().week());
var next = getWeekRange(Date.today().next().week());
希望这有帮助。周一的.prev().monday()
是7天前的事了,这可能会导致您的问题。