Показать сообщение отдельно
Старый 05.07.2012, 22:29
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 3  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Все оказывается намного страшнее.
Давай разберем простейшую задачу, нам тупо нужно узнать часовой пояс у локала и некого левого времени :
Код AS3:
var i:Number = Date.parse("Thu, 05 Jul 2012 21:00:00 +0400");
var d:Date = new Date(s);
d.setTime(i);
trace(  d.toTimeString().split(' GMT')[1] ); // +0700
 
var dateLoc:Date = new Date() // локальное время, установили пояс +0700
trace(  dateLoc.toTimeString().split(' GMT')[1] ); // +0700
С какого фига у нас одни часовые пояса показывает когда даты совсем разные и часовые пояса разные установили?

P.s. expl про сервер ты не понял немного. Мне просто приходит строка с левым временем, не важно каким, но пояс всегда +0400 , но будем считать , что может и пояс быть любой. Это такая вот вещь, так вообщем надо.

Можно проще все объяснить. Начинается ( некое ) событие , сервер всегда нам шлет начало события по МСК. У пользователя на компе может быть любое время и часовой пояс, нам соотв нужно подогнать МСК время которое пришло к локальному у пользователя. Тоесть если пришло 18.30 +0400 , а у пользователя 18.30 +0300 , то у него должно быть показано 17:30

Добавлено через 10 минут
P.s. fck ! Тему можно закрывать, ктож знал, что любое setTime само считает от локального и никаких математика вообще не надо.
Но с другой стороны, чтобы показать свою дату, придется с сервера строками вырезать минуты и часы и делать по таймеру прибавление счетчика... ужость
__________________
Марк Tween