/ / Как мога да конвертирам sperated date string в последователен низ за датата - javascript, java, mysql, date

Как мога да конвертирам изтегления низ на данни в последователен низ от дата - javascript, java, mysql, date

Имам данни за датите. Тя може да бъде Mysql данни, Java масив списък или javascript json масив.

[
{
start=2015-07-02,
id=3
},
{
start=2015-07-03,
id=4
},
{
start=2015-07-06,
id=5
},
{
start=2015-07-07,
id=8
}
]

Искам да направя като "2015-07-02", "2015-07-03 ~ 2015-07-06", "2015-07-07". Ако между датата до момента има празна дата, искам да направя свързан низ като "2015-07-03 ~ 2015-07-06".

И също така използвам MySql, Java Spring, HTML, jQuery ..... Коя част е подходяща за ефективно свързване на низ. Трябва ми помощта ти!

Отговори:

1 за отговор № 1

Можете да проверите разликата в милисекундимежду последователни дати, за да проверите дали има разлика от повече от един ден. Ако приемем, че датите са подредени в нарастващ ред (най-рано до последно) и няма повторения, ако разликата между последователни дати не е нито един ден, можем да приемем, че тя установява период.

Можете да намерите някакъв JavaScript код, който отпечатва това.

var dates = [{ start:"2015-07-02", id:3 }, { start:"2015-07-03", id:4 }, { start:"2015-07-06", id:5 }, { start:"2015-07-07", id:8 }];

var dateRangeString = "";

for ( var i = 0; i < dates.length; i++) {

if (i === dates.length-1) {
dateRangeString += """ + dates[i].start + """;
} else {
var currentDate = new Date(dates[i].start);
var nextDate = new Date(dates[i+1].start);

if (nextDate.getTime() - currentDate.getTime() == 86400000) {
dateRangeString += """ + dates[i].start + "", ";
} else {
dateRangeString += """ + dates[i].start + " ~ " + dates[i+1].start + "", ";
i++;
}
}
}

// dateRangeString has your dates and date ranges.
// "2015-07-02", "2015-07-03 ~ 2015-07-06", "2015-07-07"