дата и время с поправкой на часовой пояс

pi

Guest
дата и время с поправкой на часовой пояс

Нужно вывести местные дату и время (GMT +2), в следующем формате: Y-m-d H-i-s

Сервер отстает на 9 часов.
Как быть?

Если просто прибавлять недостающие часы... то нужно следить и за днями, и за месяцами... и даже за годом.
 

pi

Guest
Спасибо!

Для тех кто будет искать решение такой-же (или похожей) проблемы:

$hours = date(H) + 9;
echo date ("Y-m-d H-i-s", mktime ($hours));

или так:
echo date ("Y-m-d H-i-s ", time () + 32400 );

32400 - 9 часов в секундах.
 

MakZ

Guest
хех. вот последний вариант как раз не рекомендую
когда у нас там переход на летнее время и обратно?
так вот, в те дни это у тебя будет благополучно обламываться
 

pi

Guest
По моему оба варианта будут обламываться.

Какое-то время (равное разнице в часовых поясах) все будет спешить или отставать на час.

Если я правильно понял.
 

pi

Guest
По ссылке есть совет:

используй mktime() для работы с датами и не морочь себе голову
но всетаки можно по подробнее? Мне не понятно почему в первом случаи не будет проблем с переходом на летнее/зимнее время а во втором будут...

Ведь по сути написано одно и тоже.

Или получается что mktime() отслеживает переход на летнее время и если вдруг я захотел перевести время к примеру на 5 часов вперед, сейчас 23 часа а завтра часы переводят на час назад, то он прибавит к текущим часам 5 и отнимет 1???

Почитал документацию у date есть какой-то параметр Z с таким описанием: "Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive." как это понимать?

P.S Блин, сам не знаю откуда такой нездоровый интерес. Обычно принимаю все как есть :)
 
Сверху