![]() |
|
||||||||||
|
|||||
|
[+4 06.05.14]
|
День добрый такая проблема, мне с сервера присылают дату , моя задача перевести в милисекунды и отобразить как часы и минуты соотв потом.
Что делаю В этом случае, если на клиенте меняют часовой пояс, то когда перевожу в милисекунды показывает локальное время почему то. Что делаю не так?
__________________
Марк Tween |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ну а в хелпе что написано?
Цитата:
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
|
[+4 06.05.14]
|
Wolsh это все ясно. Только я не понял, второй метод не относится к опрерационной системе?
Добавлено через 31 минуту Попробовал по UTC как ты мне посоветовал, но теперь выводит время на 4 часа раньше. Мне передают строку Wed, 21 Mar 2012 00:01:31 +0400 , получается 20:01 , выходит надо вручную добавлять 4 часа теперь? ! А если будет +0300 или вообще другое, откуда я буду знать какое число прибавлять, вычитать ? или как то все по другому делается?
__________________
Марк Tween |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
http://ru.wikipedia.org/wiki/%D0%A7%...BE%D1%8F%D1%81
http://ru.wikipedia.org/wiki/UTC "Серверное" время и есть UTC, только отдается обычно в секундах. Это просто число [милли]секунд, прошедших с 0:00:000 1 января 1970 года. То есть оно не зависит от часового пояса, летнего времени и "операционной системы". На любом сервере в любой точке земного шара в один момент времени это одна и та же цифра. А локальное время в операционной системе уже учитывает часовой пояс и летнее время. Сформулируйте вопрос по-человечески. Нифига не понятно, зачем вручную прибавлять 4 часа, если Вам нужно не локальное время.
__________________
Reality.getBounds(this); |
|
|||||
|
Не совсем понятно в чем задача в целом.
Date.parse корректно распарсил дату сервера "Wed, 21 Mar 2012 00:01:31 +0400". Если нужно именно время сервера - так вот же она, 00:01:31, в чем проблема? ![]() Если хочется парсить через Date - тогда да, Вы получите либо в UTC что именно 20:01 либо свое локальное, все это Date делает автоматически. Опять же, часовой пояс свой сервер вернул: +0400.
__________________
...я люблю людей!.. |
|
|||||
|
[+4 06.05.14]
|
Поясняю общую задачу, чтобы было всем понятно.
1. Сервер передает время. 2. Нужно отобразить часы:минуты на странице. 3. Нужно сохранять ПОЛНОЕ время в милисекундах. 4. Приходят события, у них тоже есть некое серверное время, естественно отличное от того, что приходит изначально, на час или на два , ну вообщем не важно любое... 5. Если ГЛОБАЛЬНОЕ ВРЕМЯ - ВРЕМЯ СОБЫТИЯ > 35 минут , такое событие считается не валидным. Вот для этого и сохраняется глобальное время каждую секунду, вот поэтому нельзя распарсить без даты.
__________________
Марк Tween |
|
|||||
|
Ну так а в чем проблема-то отобразить время?? Сервер его строкой передал, если не хочется возиться с часовыми поясами - вытащите время из строки что пришла.
По поводу "сравнить время" - делайте Date.parse(...) как и раньше; .getTime вернят Вам время в UTC. Каждый раз когда приходит это "событие" делайте то же самое, сравнивайте .getTime "глобального времени" и "события".
__________________
...я люблю людей!.. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Получить форматную дату для отображения через парсинг. Еще не понял – вы каждый раз при получении события запрашиваете и текущее время на сервере? Или используете системные часы?
__________________
Reality.getBounds(this); |
|
|||||
|
[+4 06.05.14]
|
Использую свои часы через таймер. сервер отдает только 1 раз ясное дело. А для события, ну по приходу и получаю. Нет не в секундах, а строкой и для события и для общего времени.
Добавлено через 3 минуты Wolsh а еще вопрос. А можно так ? и по таймеру проверять следующее время. Или в этом случае все равно локальное компа вернет? Вроде попробовал вернуло 10 часов... Что скажешь?
__________________
Марк Tween Последний раз редактировалось in4core; 21.03.2012 в 18:06. |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:19. |
|
|
« Предыдущая тема | Следующая тема » |
|
|