1

私はdatejsを使用し、プログラムの3つのボタンを取得したい
Today : 今週の月曜日と日曜日の
2つの日付制限を生成します Next : 来週の2つの日付制限を
生成します Prev : 前の週の2つの日付制限を生成します

ここに私のコード

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

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

3 つのボタンは 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 に答える