1

我使用 datejs,我想获取程序三个按钮,
今天:生成本周的两个日期限制,本周的星期一和星期日下一个:生成
下一周的两个日期限制上
一个:生成上一周的两个日期限制

这是我的代码

var currentDay = 0;
(currentDay).days().fromNow().next().saturday().toString("yyyy-M-d");

(currentDay).days().fromNow().prev().monday().toString("yyyy-M-d");

三个按钮做currentDay + 7;当前日 - 7;当前日 = 0;

问题是
我们是星期一 22,这个函数返回星期一 15;

4

2 回答 2

1

我前段时间为此编写了一些代码:

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

愿这些有所帮助。

于 2012-10-22T08:56:13.347 回答
1

下面的示例.getWeekRange()函数接受一个 Date 对象(或默认为 'today'),将计算出该周的星期一,然后返回一个对象,该对象具有一周的startandend属性。

例子

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);

要获取前一周,只需传入前一周的 Date 对象:

例子

var prev = getWeekRange(Date.today().last().week());

要获取下周,只需传入下周的 Date 对象:

例子

var next = getWeekRange(Date.today().next().week());

希望这可以帮助。

于 2012-10-22T12:41:24.047 回答