0

現在の日付を取得してから、2 つのことを行う必要があります。1) それに 10 日を追加します。2) それに 5 日を追加します。そして、週末も離れなければなりません。その日に 10 を加算すると、週末が表示された場合はそのままにしておく必要があります。

どうすればこれを達成できますか?

今まで私がやったことは次のとおりです。

$(document).ready(function() {
            var d = new Date();
            var month = new Array();
            month[0] = "January";
            month[1] = "February";
            month[2] = "March";
            month[3] = "April";
            month[4] = "May";
            month[5] = "June";
            month[6] = "July";
            month[7] = "August";
            month[8] = "September";
            month[9] = "October";
            month[10] = "November";
            month[11] = "December";
            var n = month[d.getMonth()];
            var dt = d.getDate();
            $('#date_span').text(dt);
            $('#month_span').text(n);

        });
4

1 に答える 1

1

週末を除く、今日から 5 日後と 10 日後の日付が必要なようです。これを試すことができます:

var MONTHS = [
        "January",
        "February",
        "March",
        "April",
        "May",
        "June",
        "July",
        "August",
        "September",
        "October",
        "November",
        "December"
    ],
    targetDays = [5, 10],
    i, j,
    targetDate,
    curTargetDay,
    curDay,
    finalMonth,
    finalDate;

for (i = 0, j = targetDays.length; i < j; i++) {
    targetDate = new Date();
    curTargetDay = targetDays[i];
    while (curTargetDay) {
        targetDate.setDate(targetDate.getDate() + 1);
        curDay = targetDate.getDay();
        if (curDay !== 0 && curDay !== 6) {
            curTargetDay--;
        }
    }
    console.log(targetDate.getDate(), MONTHS[targetDate.getMonth()]);
}

デモ: http://jsfiddle.net/TN2rN/1/

離れている日数 (5、および 10) ごとに、これは次のことを行います。

  1. 今日取得
  2. それに1日追加
  3. 新しい日が週末の場合、それは無視されます
  4. 新しい日が平日の場合、それが有効であったことを追跡します
  5. 到達した有効日数が当初の目標と一致した場合、検索を停止します
  6. 到達した有効日数が当初の目標と一致しない場合、Goto #2
  7. 見つかった日付を出力します
于 2013-06-17T17:58:21.897 に答える