![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: 1 Всего: 1 |
работает криво, например если выставить финальную дату до 30 Марта (включительно) то всё ОК, но как только ставлю 31 Марта или 1 Аперля то куда-то исчезает один Час....
и вот я думаю - это вероятно из за перехода на летнее время! и как быть теперь? ![]() тойсть хочу чтоб он отнимал тот самый час во время перехода , но ни как до него ![]()
Это сообщение отредактировал(а) ressac - 3.2.2008, 09:53 |
|||
|
||||
ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: 1 Всего: 1 |
тут появилась идея добавить ещё год и месяц, только не выходит... помощь?
![]() |
|||
|
||||
ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: 1 Всего: 1 |
вот, написал
![]() ещё раз прошу кого-то проверить алгоритм... плиз ![]()
|
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Не совсем понял формулировку задачи). Но как вариант - использовать методы getUTCЧто-то вместо просто getЧто-то. -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Работает, неправильно... Код утверждает, что между 2008/1/3 21:18:00 и 2008/3/1 0:0:0
пройдет ... 1 час ... в то время как пройдет ... 2 ... ;) Видите ли, день перевода времени - это такой странный день, типа февраля, в нем 23 или 25 часов вместо 24-x. и работать с ним нужно столь-же загадочно как и с месяцами... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: 1 Всего: 1 |
ksnk, да, я об этом выше говорил,
так выходит из-за перехода не летнее время. на самом деле показывает он точно, просто в момент перехода (30 марта) он два часа повторит, попробуй выставить у себя 30 марта |
|||
|
||||
ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Ну что-ж тогда вот - правильный вариант
Ну и вставлять его в код
Кстати - перевод времени будет с 29 марта по 30... Добавлено через 1 минуту и 37 секунд Между 5 часов 29 марта и 6 часов 30 марта пройдет 1 день и 1 час ![]() Добавлено через 4 минуты и 30 секунд Хотя в день перевода дат я тоже заглючу... :( -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
||||
|
|||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
SelenIT, Oops! Стормозил. Это день перевода часов на летнее время...
![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: 1 Всего: 1 |
ksnk, не понял ни принцип кода ни ход работы, у меня было на часах 22:00 , твой код вывел на экран "3" и всё ...
вот тут финальная версия ![]() ressac.110mb.com единственный "ГЛЮК" это то что до перехода на летнее время день кончается на ЧАС раньше, так что как это решить [B]вопрос остаётся открытым ![]() Это сообщение отредактировал(а) ressac - 4.2.2008, 00:11 |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
А здесь? Там еще табличка для проверки разности между датами... 6 строк таблицы вставляются в Date(1,2,3,4,5,6)... Кстати, наши таймеры отличаются на час... ;-) Добавлено @ 01:06 В добавок он не глючит при переходе на летнее время. Просто я проверял разницу между 2008/3/30:1 ночи, а время переводят с часа сразу на 2... Это сообщение отредактировал(а) ksnk - 4.2.2008, 01:07 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Принцип
функция daydiff: получает даты d1 и d2. Для каждой из них последовательно применяем функции getSeconds, getMinutes,... getYear получаем на каждой итерации число _1 и _2. Если _1 меньше, чем _2, добавляем к _1 (d1.setXXX(-1)).getXXX()+1. В результате этой магии получаем 59+1 для секунд/минут и 29 дней для февраля этого года. В добавок этой-же магией автоматически учитываются "заемные" значение, к примеру разница 10:0 и 9:59 выдаст 0 и 59 секунд, после магии первая дата станет 9:59. Результат - 1 секунда... На каждой итерации в результирующий объект сваливаем то, что получилось под соответствующим именем. функция timer использует daydiff для размещения результатов ее работы в нужном месте. Остальная магия служит для связки слов в предложении и для излишней оптимизации ![]() Добавлено через 2 минуты и 46 секунд Кстати, если прислушаться к совету SelenIT, и указать "начальную" дату в GMT формате, то пользователи в Америке не будут удивлены странной датой начала мероприятия... ;-) -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: 1 Всего: 1 |
да тут видно всё хорошо ![]() НО у тебя почему-то на один ДЕНЬ больше выходит, не считай тот день в котором Мы находимся сейчас. так как он ведь уже не полный ДЕНЬ... плюс не понятки у тебя с вводом данных, тот что внизу показывает точно , а тот что в верху - не точно, например я выставил 30 марта и он показал 0 дней.
у меня разве глючит? у меня просто два раза один час прокручивает... |
|||
|
||||
ksnk |
|
||||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 84 Всего: 386 |
Не понял ;)
вот тестовый замер
к нижней дате прибавляем +2 месяца = 03 марта +3 + 3 недели*7 +5 дней=29 марта + 1 час = 30 марта... Где-то что-то неправильно считается? Или на других датах чего-то неправильное? Проще делать такие слепки Оперой, она позволяет из окна alert'а копировать... Добавлено через 2 минуты и 5 секунд
Это непонятки, чего вводилось в каждое поле? Добавлено через 4 минуты и 34 секунды
Это как это, между 23:00 сегодня и 23:00 завтра пройдет 0 дней? ![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
||||||
|
|||||||
ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: 1 Всего: 1 |
||||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |