Просмотр полной версии : Вычисление разницы времени
Time0 = new Date(2002,07,31,00,00);
Time1 = new Date(2002,08,01,00,00);
TimeR= new Date();
TimeR=Time1-Time0;
ShowDate4=TimeR; // ShowDate4-Dynamic text
TimeR - т.е. разница между этими датами почему-то равна 18 000 000 сек. А ведь тут разница всего в один день.
А если
Time0 = new Date(2002,08,01,00,00);
Time1 = new Date(2002,08,02,00,00);
то TimeR равен 0. Также он равен 0,если менять Time1 до 7 числа.
Подскажите, откуда такой глюк?
[subway]design
13.11.2002, 09:31
Глюков нет, просто объекты класса Date() вычитать нельзя.
> [subway]design
Time0 = new Date(2002,08,10,00,00);
Time1 = new Date(2002,08,11,00,00);
но в этом варианте считается правильно - 86400сек.
Дата представлена определенным числом, так почему нельзя вычитать? И как тогда узнать разницу?
sergwizard
14.11.2002, 03:34
Судя по твоим примерам, ты работаешь в 5 Flash. МХ не дал бы тебе писать в таком формате. Пятерка позволяет, но считает неправильно.
Надо писать так: (2002,7,31,00,00), но не так: (2002,07,31,00,00). То есть месяцы и дни пишутся без нулей.
И, хотя [subway]design прав (для проверки его правоты попробуй сделать динамические поля для вывода Time0 и Time1), Flash не согласен с его правотой и, непонятно каким образом (наверное, своими недокументированными функциями) все-таки делает вычитания.
Кстати, Vajo лукавит немного, говоря "...но в этом варианте считается правильно - 86400сек. ". Он (Flash) показывает 86400000 сек. Откуда берутся два дополнительных нуля – непонятно.
> sergwizard
без нулей перед цифрами работает. Спасибо.
А сек всетаки 86400. 86400000 - это уже мсек.
sergwizard
14.11.2002, 14:30
2Vajo
Sorry. Да, ты прав. Это у меня глюки уже от вечного недосыпания.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.