Есть массив дат - {"2017-06-17", "2017-06-19", "2017-06-16", "2017-06-18"}
.
Как мне проверить что эти даты последовательные? тобишь что нет прерываний.
var arr = ["2017-06-17", "2017-06-18", "2017-06-19", "2017-06-18"];
var arr2 = ["2017-06-17", "2017-06-18", "2017-06-19", "2017-06-20"];
var arr3 = ["2017-12-30", "2017-12-31", "2018-01-01", "2018-01-02"];
var arr4 = ["2017-12-30", "2017-11-31", "2017-12-30", "2018-01-02"];
function isDateSequence(arr) {
var d1, d2 = "";
for (var i = 0; i < arr.length - 1 ; ++i) {
d1 = new Date(arr[i]);
d2 = new Date(arr[i + 1]);
// 86400000 - это +1 день
if (d1.getTime() + 86400000 != d2.getTime()) {
return false;
}
}
return true;
}
console.log(isDateSequence(arr));
console.log("---------------");
console.log(isDateSequence(arr2));
console.log("---------------");
console.log(isDateSequence(arr3));
console.log("---------------");
console.log(isDateSequence(arr4));
Вот вариант в лоб:
private static boolean isSerial(String[] datesArray) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(simpleDateFormat.parse(datesArray[0]));
for (int i=1; i<datesArray.length; i++) {
calendar.add(Calendar.DATE, 1);
String currentDate = simpleDateFormat.format(calendar.getTime());
if (!currentDate.equals(datesArray[i])) {
return false;
}
}
return true;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Здравствуйте! Пишу игру, добавляю 2 картинку в JFrame - подставка, картошкаВсегда отображается по разному
В активити есть два элемента CheckBox, значение которых я сохраняю в SharedPreferencesВозникла проблема - при изменении одного из них, изменяется записанное...
Собираюсь выложить приложение на PlayMarket, с последующим его обновлением