1

私はdatejsを使用しており、2つの日付があります:startDateendDate

日付は、dateタイプの2つのオブジェクトです。これらの2つの日付の間の日数を列挙する関数を作成する必要があります。

間のマージは7日です

例:

startDate = 2012-10-30
endDate = 2012-11-05

次のような出力の文字列を取得する必要があります。

30,31,01,02,03,04,05

4

2 に答える 2

1
var getDays = function (start, end) {
    var days = [],
        temp = start.clone();

    while (temp <= end) {
        days.push(temp.toString('dd'));
        temp.add(1).day();
    }

    return days.join(',');
}

var days = getDays(Date.parse('2012-10-30'), Date.parse('2012-11-05'));

などの文字列を返します"30,31,01,02,03,04,05"

お役に立てれば。

于 2012-10-23T14:44:47.633 に答える
0
var startDate = new Date("2012-10-30"),
    endDate = new Date("2012-11-05"); // or whatever

var days = [];
for (var i=new Date(startDate); i<=endDate; i.setDate(i.getDate()+1))
    days.push(i.getDate());

必要な文字列を取得するには、次を使用します

    days.push(("0"+i.getDate()).substr(-2));

代わりに、その後days.join(",")

date.js を使用しているため、上記にいくつかの構文シュガーを追加します。

for (var days=[], i=startDate.clone(); i<=endDate; i.addDays(1))
    days.push(i.toString("dd"));
return days.join();
于 2012-10-23T09:53:45.170 に答える