Автор Тема: Проблема с вычислением количества дней в феврале функцией getTime();  (Прочитано 1218 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Max0001

  • Коллежский регистратор
  • *
  • Сообщений: 2
  • Репутация: 0
Добрый день. Уважаемые Гуру программирования, помогите, пожалуйста.
Столкнулся с проблемой, что у меня неправильно вычисляет количество секунд между двумя датами,
если вторая дата попадает на февраль месяц.

суть проблемы:

если вычисляем разницу дат и вторая дата приходится на январь, например (4 декабря 2008 и 31 января 2009)
 - разница вычисляется правильно
<SCRIPT>
  var date_current_time = new Date(2008,12,4,0,0,0);
  var date_access = new Date(2009,1,31,0,0,0);
  var difference = date_access.getTime() - date_current_time.getTime();
  difference = difference / 1000;
  alert (difference);
</SCRIPT>

= 5011200 секунд или 58 полных дней...


если вторая дата приходится на февраль, например (4 декабря 2008 и 1 февраля 2009)
 - какая-то фигня выходит.. 
<SCRIPT>
  var date_current_time = new Date(2008,12,4,0,0,0);
  var date_access = new Date(2009,2,1,0,0,0);
  var difference = date_access.getTime() - date_current_time.getTime();
  difference = difference / 1000;
  alert (difference);
</SCRIPT>

= 4838400 секунд или 56 !! полных дней...

в марте - опять всё на свои места становится и разница вычисляется правильно...


Я вот уже думаю, что я, может, какую-то неправильную функцию использую для вычисления разницы дат...
Или меня так заглючило....

Подскажите, пожалуйста, что я не так делаю.

Большое спасибо, Макс.
« Последнее редактирование: ґХЪРСам 05, 2008, 06:58:07 am от Max0001 »

Оффлайн Max0001

  • Коллежский регистратор
  • *
  • Сообщений: 2
  • Репутация: 0
Всем спасибо, проблема решена..  Нумерация дат месяца не с 1-12 а 0-11

Надо меньше работать и больше спать :(