![]() |
Вычисление разницы времени
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 числа. Подскажите, откуда такой глюк? |
Глюков нет, просто объекты класса Date() вычитать нельзя.
|
> [subway]design
Time0 = new Date(2002,08,10,00,00); Time1 = new Date(2002,08,11,00,00); но в этом варианте считается правильно - 86400сек. Дата представлена определенным числом, так почему нельзя вычитать? И как тогда узнать разницу? |
Судя по твоим примерам, ты работаешь в 5 Flash. МХ не дал бы тебе писать в таком формате. Пятерка позволяет, но считает неправильно.
Надо писать так: (2002,7,31,00,00), но не так: (2002,07,31,00,00). То есть месяцы и дни пишутся без нулей. И, хотя [subway]design прав (для проверки его правоты попробуй сделать динамические поля для вывода Time0 и Time1), Flash не согласен с его правотой и, непонятно каким образом (наверное, своими недокументированными функциями) все-таки делает вычитания. Кстати, Vajo лукавит немного, говоря "...но в этом варианте считается правильно - 86400сек. ". Он (Flash) показывает 86400000 сек. Откуда берутся два дополнительных нуля – непонятно. |
> sergwizard
без нулей перед цифрами работает. Спасибо. А сек всетаки 86400. 86400000 - это уже мсек. |
2Vajo
Sorry. Да, ты прав. Это у меня глюки уже от вечного недосыпания. |
| Часовой пояс GMT +4, время: 16:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.