PDA

Просмотр полной версии : Как получить время в другой стране относительно Гринвича


Art_133
19.02.2009, 20:33
Добрый вечер. Пытаюсь сделать часы но пока безуспешно. Прошу не слать меня в поиск, я там ничего конкретного не нашел.

У меня вопрос. Как узнать время к примеру на Кипре я знаю. Делаем так

var time:Date = new Date ();
var hourInCuprus = time.getUTCHours()+2
trace(hourInCuprus)

То-есть "погрешность" во времени на Кипре относительно гринвича равняется 2 часа. В общем время показывается корректно когда значение getUTCHours() равняется 0-21.
А когда getUTCHours() выдаёт 23 к примеру то время на Кипре становится 25 часов.
Как можно устранить эту погрешность?
Аналогичная ситуация получается если узнавать время другой страны когда getUTCHours() = 0 ,а погрешность по гринвичу которой составляет к примеру -5 часов. Выдаёт -5 часов, а должно естественно 19 часов.
Надеюсь проблема ясна. Прошу помоши у знающих людей.
За ранее спасибо!.

Fatality
19.02.2009, 21:18
Ну, можно например вот так:
var shift:Number = -2;
var time:Date = new Date();
var Hours = time.getUTCHours()+shift;
if (Hours>23) Hours %= 24;
else if (Hours<0) Hours += 24;
trace(Hours);

Art_133
19.02.2009, 22:00
Спасибо огромное! Это как раз то что нужно!