0

重複の可能性:
JavaScriptで週の最初と最後の曜日を取得する

関数に今日の日付を指定して先週の開始日と終了日を取得する方法について、誰かがアドバイスできますか?

4

3 に答える 3

9

以下は動作するコードです!これが誰にでも役立つことを願っています...!

    var d = new Date();
        var to = d.setTime(d.getTime() - (d.getDay() ? d.getDay() : 7) * 24 * 60 * 60 * 1000);
        var from = d.setTime(d.getTime() - 6 * 24 * 60 * 60 * 1000);
alert(to);
alert(from);
于 2012-07-11T12:00:25.493 に答える
0

月の最終日を取得します。

/**
 * Accepts either zero, one, or two parameters.
 *     If zero parameters: defaults to today's date
 *     If one parameter: Date object
 *     If two parameters: year, (zero-based) month
 */
function getLastDay() {
    var year, month;
    var lastDay = new Date();

    if (arguments.length == 1) {
        lastDay = arguments[0];
    } else if (arguments.length > 0) {
        lastDay.setYear(arguments[0]);
        lastDay.setMonth(arguments[1]);
    }

    lastDay.setMonth(lastDay.getMonth() + 1);
    lastDay.setDate(0);

    return lastDay;
}

先週の月曜日を取得します。

/**
 * Accepts same parameters as getLastDay()
 */
function getLastMonday() {
    var lastMonday = getLastDay.apply(this, arguments);
    lastMonday.setDate(lastMonday.getDate() - (lastMonday.getDay() == 0 ? 6 : (lastMonday.getDay() - 1)));
    return lastMonday;
}

今あなたの仕事をするためにあなたはすることができます

/**
 * Accepts one parameter: Date object.
 * Assumes start of week is Sunday.
 */
function getWeek(d) {
    var jan1 = new Date(d.getFullYear(), 0, 1);
    return Math.ceil((((d - jan1) / (24 * 60 * 60 * 1000)) + jan1.getDay() + 1) / 7);
}

その後、

// Get the last week of this month:
var lastWeekThisMonth = getWeek(getLastDay());
Alert("lastWeekThisMonth: %s", lastWeekThisMonth);
于 2012-07-11T11:07:07.560 に答える
-1

Date.jsを使用できます

 Date.today().previous().monday()

それはあなたのために働くかもしれません。

于 2012-07-11T11:07:00.660 に答える