![]() |
клиентонезависимое время
День добрый такая проблема, мне с сервера присылают дату , моя задача перевести в милисекунды и отобразить как часы и минуты соотв потом.
Что делаю Код AS3:
|
Ну а в хелпе что написано?
Цитата:
Цитата:
|
Wolsh это все ясно. Только я не понял, второй метод не относится к опрерационной системе?
Добавлено через 31 минуту Попробовал по UTC как ты мне посоветовал, но теперь выводит время на 4 часа раньше. Мне передают строку Wed, 21 Mar 2012 00:01:31 +0400 , получается 20:01 , выходит надо вручную добавлять 4 часа теперь? ! А если будет +0300 или вообще другое, откуда я буду знать какое число прибавлять, вычитать ? или как то все по другому делается? |
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 часа, если Вам нужно не локальное время. |
Не совсем понятно в чем задача в целом.
Date.parse корректно распарсил дату сервера "Wed, 21 Mar 2012 00:01:31 +0400". Если нужно именно время сервера - так вот же она, 00:01:31, в чем проблема? :) Если хочется парсить через Date - тогда да, Вы получите либо в UTC что именно 20:01 либо свое локальное, все это Date делает автоматически. Опять же, часовой пояс свой сервер вернул: +0400. |
Поясняю общую задачу, чтобы было всем понятно.
1. Сервер передает время. 2. Нужно отобразить часы:минуты на странице. 3. Нужно сохранять ПОЛНОЕ время в милисекундах. 4. Приходят события, у них тоже есть некое серверное время, естественно отличное от того, что приходит изначально, на час или на два , ну вообщем не важно любое... 5. Если ГЛОБАЛЬНОЕ ВРЕМЯ - ВРЕМЯ СОБЫТИЯ > 35 минут , такое событие считается не валидным. Вот для этого и сохраняется глобальное время каждую секунду, вот поэтому нельзя распарсить без даты. |
Ну так а в чем проблема-то отобразить время?? Сервер его строкой передал, если не хочется возиться с часовыми поясами - вытащите время из строки что пришла.
По поводу "сравнить время" - делайте Date.parse(...) как и раньше; .getTime вернят Вам время в UTC. Каждый раз когда приходит это "событие" делайте то же самое, сравнивайте .getTime "глобального времени" и "события". |
ну собственно так я и хотел делать, думал может есть варианты лучше.
|
Цитата:
Получить форматную дату для отображения через парсинг. Еще не понял – вы каждый раз при получении события запрашиваете и текущее время на сервере? Или используете системные часы? |
Использую свои часы через таймер. сервер отдает только 1 раз ясное дело. А для события, ну по приходу и получаю. Нет не в секундах, а строкой и для события и для общего времени.
Добавлено через 3 минуты Wolsh а еще вопрос. А можно так ? Код AS3:
Или в этом случае все равно локальное компа вернет? Вроде попробовал вернуло 10 часов... Что скажешь? |
| Часовой пояс GMT +4, время: 17:18. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.