Узнать сколько дней между двумя датами можно с помощью следующего JavaScript кода:
// Первая дата (год, месяц, день)
var Date1 = new Date (2008, 7, 25);
// Вторая дата (год, месяц, день)
var Date2 = new Date (2009, 0, 12);
// Сколько целых дней между датами
var Days = Math.floor((Date2.getTime() - Date1.getTime())/(1000*60*60*24));
Концептуально всё просто. Берем одну дату в миллисекундах прошедших с 1 января 1970 года и вычитаем из нее другую дату в тех же миллисекундах. То что получилось делим на количество миллисекунд в одном дне и округляем до ближайшего меньшего целого.
При задании даты важно помнить, что месяц задается в диапазоне от 0 (январь) до 11 (декабрь).
Громадное спасибо! Так все просто!
ОтветитьУдалитьВ мемориз ;)
спасибо))
ОтветитьУдалитьошибка получается (
ОтветитьУдалитьВозьмем первую дату 2012,4,30 и вторую 2012,5,1 - высчитывает 2 дня, вместо одного, получается что он считает будто в апреле 31 день, а не 30
Внимательно прочитайте последнее предложение поста. Вы посчитали количество дней между 30 мая и 1 июня. В мае таки тридцать один день.
ОтветитьУдалитьЛучшеб пример считающий дни по факту выложили, т.е. разница между 10.10.2010 23:59 и 11.10.2010 00:00 былаб 1 день
ОтветитьУдалитьФормально это два разных дня. Поэтому и разница в один день. Человек родился 10 октября 2010 года за минуту до полуночи, через минуту полночь наступил - человек свой первый день прожил.
ОтветитьУдалить