Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> таймер, отсчёт времени, проблемы с летним время 
:(
    Опции темы
ksnk
Дата 5.2.2008, 00:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(ressac @  4.2.2008,  21:18 Найти цитируемый пост)
но если 23:01 сегодня и завтра 23:00 то пройдёт уже 0 дней и 23:59 часа  

Код

Fri, 04 Apr 2008 00:00:00 GMT+0400
Thu, 03 Apr 2008 00:00:01 GMT+0400
sec:59 min:59 hours:23 days:0 month:0 year:0 week:0 

Как можно заметить - я совершенно с этим не спорю ;-)

Цитата(ressac @  4.2.2008,  21:18 Найти цитируемый пост)
30 марта 17:00 , и на локальных часах у себя туже дату ставил и был разный результат.

Цитата(ressac @  4.2.2008,  19:30 Найти цитируемый пост)
например я выставил 30 марта и  он показал 0 дней.

Правильно ли я понял, что 30 марта в 17:00 счетчик покажет, что осталось 0 дней++  до 31 марта 0:0? Почему это считается неправильным? smile

В общем - в странности работы счетчика я не убежден. Чего, казалось бы проще - скопировать тестовую пару дат и сказать что вот тут считается фигня-с. Почему бы это не сделать ;) Особенно, если учесть, что этот счетчик нужен, вообще говоря, совсем даже не мне  smile 



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
ressac
Дата 5.2.2008, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 345
Регистрация: 25.11.2006

Репутация: 1
Всего: 1



.... вы не правильно меня поняли или я вас, это не важно даже уже, зачем ссорится smile

ну странности вот:

сейчас он показывает что осталось 3 недели и 6 дней(это по тому что через форму выдаёт), а на динамическом 3 недели и 5 дней - а на самом деле 3 недели и 4 дня

проблемы с февралём есть, например ставлю дату 29 февраля 2008 года и выдаёт что ещё 1 месяц и 2 дня, откуда два дня?

ещё видел проблемы...с неделями вроде...

вообщем я не придираюсь к твоему коду, ты меня не правильно понял. забудь

кстати в моём случае придумал решение что до 30 марта просто буду прибавлять час и всё smile а лучше наверно вообще перепишу по новой.. а то что-то толстый код вышел.


p.s. у нас разные часовые пояса, может быть по этому... хотя не думаю smile
PM MAIL   Вверх
ksnk
Дата 5.2.2008, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(ressac @  5.2.2008,  00:39 Найти цитируемый пост)
проблемы с февралём есть, например ставлю дату 29 февраля 2008 года и выдаёт что ещё 1 месяц и 2 дня, откуда два дня?

Угу... Теперь - убедительно ;-) Вот это - баг... будем ковырять.

Добавлено через 2 минуты и 11 секунд
C днями ничего более здравого пока не приходит в голову, кроме как прибавлять по одному, пока не станут равными... Хмм..ю Идея дурная, но сработает...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
ksnk
Дата 5.2.2008, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Опять торможу... от 29 февраля до 29 марта - 1 месяц. До 31-го еще 2 дня... А в чем прикол? ладно спать пойду... smile


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
SelenIT
Дата 5.2.2008, 04:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Вот что-то подобное алгоритму ksnkа делали на PHP (кстати, там и обсуждение небесполезное;). Для "перевода" на JS, по идее, достаточно убрать "доллары" и заменить
Код

        $st = explode('-', date('d-m-Y-H-i-s', $date_start));
на
Код

        st =[date_start.getUTCDate(),
            date_start.getUTCMonth(),
            date_start.getUTCFullYear(),
            date_start.getUTCHours(),
            date_start.getUTCMinutes(),
            date_start.getUTCSeconds()];
(аналогично для fin - date_finish),
и
Код

            days = date('t', mktime(1, 0, 0, st[1], st[0], st[2])) - st[0] + fin[0];
на
Код

            days = new Date(st[2], st[1]+1, 0, 0, 0, 1).getUTCDate() - st[0] + fin[0];


А недели, имхо, можно "тупо" получить из дней как Math.floor(days/7), сами дни - соответственно как days%7...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
ksnk
Дата 5.2.2008, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



К сожалению, проверка алгоритма "отнимания столбиком" двух чисел с цифрами разных размерностей не выявила багов...
Возможно, часть "глюков" объясняется тем, что функция считала время до 1 апреля, а не до 30-го марта. Сейчас все даты выводятся на экран, так что если глюк будет виден - желательно его сюда скопировать и запостить. "Калькулятор" тоже выводит разницу дат на экран. При наличии глюка - буду рад его увидеть.

Добавлено @ 12:29
SelenIT, В принципе, там делается то-же самое, просто "а мужики-то не знали", что если поставить -1 в соответствующий параметр даты - появится "максимальное" этого параметра значение. Так что им пришлось помнить все параметры минут и часов, а мне - вот - нет smile  ... 

Это сообщение отредактировал(а) ksnk - 5.2.2008, 12:40


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
ressac
Дата 5.2.2008, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 345
Регистрация: 25.11.2006

Репутация: 1
Всего: 1



1st time: Tue Apr 01 2008 00:00:00 GMT+0200
2 nd time:Sun Mar 23 2008 23:44:00 GMT+0100
sec:0 min:16 hours:23 days:0 month:0 year:0 weeks:1

ну так теперь  у тебя тоже самое что и у меня.. на час раньше smile

Добавлено через 1 минуту и 48 секунд
1st time: Tue Apr 01 2008 00:00:00 GMT+0200
2 nd time:Sun Mar 23 2008 22:44:00 GMT+0100
sec:0 min:16 hours:0 days:1 month:0 year:0 weeks:1
PM MAIL   Вверх
ksnk
Дата 5.2.2008, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Объяснение странному пропаданию одного часа я , вроде отыскал, хотя объяснение шаманское... Я использовал функции UTCxxx, по наводке Selenit'а. Когда вернул на локализованные - час нашелся...

Добавлено через 1 минуту
Нешаманское объяснения сему странному факту пока не отыскалось...

Добавлено через 6 минут и 19 секунд
нашлось... Дневное время - GMT+4 для моего пояса, зимнее - GMT +3, а UTC - это GMT+0, так что час отнимался "законно" ;-)... с точки зрения гринвичского меридиана...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
ressac
Дата 11.2.2008, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 345
Регистрация: 25.11.2006

Репутация: 1
Всего: 1



ksnk, привет
только что делал этот-же сабж только на PHP

зашёл сверить время с твоим и вышло у тебя следущее....

1st time: Tue Apr 01 2008 00:00:00 GMT+0200
2 nd time:Mon Feb 11 2008 23:00:00 GMT+0100
sec:0 min:0 hours:1 days:6 month:1 year:0 weeks:2

у меня получается 
лет 0 мес. 1 нед. 2 дни 4 часы 1


...
хз, может что-то я спутал как всегда... перепроверь свой. 
два дня меньше должно быть
PM MAIL   Вверх
ksnk
Дата 12.2.2008, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Через 2 недели от 11-го февраля будет 25-е, через месяц - 25-е марта, еще через 6 дней (31 день в марте ;-) ) будет 1 апреля

Добавлено через 3 минуты и 23 секунды
Хотя, с какого месяца считать?... Это вопрос...

Добавлено через 5 минут и 16 секунд
Я от 1 апреля отнимаю 11 февраля, вот и получается такая разница... Нужно бы чего-то другое делать...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
ksnk
Дата 12.2.2008, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Угу! Я тормоз...  smile 
сейчас и у меня от 11 марта до 1 апреля 1 месяц, 2 недели и 4 дня...
Сейчас, надеюсь, правильно!  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0824 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.