![]() |
Разница в часовых поясах
Что-то я совсем запутался. Записываю unix метку времени gmmktime(). На выводе надо учесть разницу во времени, например, москва (+3). Подскажите плиз, как осуществить смещение.
|
я делал так:
Код:
setlocale (LC_TIME, 'ru_RU'); //ключевое здесь это установка локали |
а к значению часов не пробовал прибавлять нужное смещение?
|
Sheryld
спасиб, но мне нельзя привязываться к локали ru. Есть фифра смещения - ее надо прибавлять. $gtm=3; - смещение по времени $tt=1114082587; - метка по гринвичу is_absent gmdate("H",$tt)+$gtm так? несколько несостыковочка: запись метки ведет gmmktime() - она должна записать метку по гринвичу - правильно ? читаю метку date("H",$tt)+$gtm) получается асбсолютно не московское время, со смещением 3 часа. |
а в gmmktime передавать час + смещение?
просто тогда не надо будет писать кучу условий для проверки корректности даты :). функция сама посчитает все как надо.. то есть ты делаешь $tt = gmmktime($hour + $gtm, ....) |
is_absent
нее... :) так запишется сразу уже смещенное время, а мне нужно именно из базы смещать, как обычно в профилях пользователей. Метки уже записаны все. |
время в базе + разница в часах * 3600 ?
я так понял хранишь ты именно unix_timestamp... |
Цитата:
Цитата:
|
мда, ничего не выходит, попробую по шагам рассказать:
1. дата в базу пишется gmmktime(); - т.е. время должно быть по гринвичу. сейчас по Москве 18-40, записалось в базу 22-40. (проверял функцией date) 2. на выводе? чтобы показывать Московское время (смещение + 3) делаю date("H:i",$tmeta+3*3600) 3. показывает 1-38. т.е. наоборот смещает. я в тупике. :( |
hempsmoke
:) а если подогнать date("H:i",$tmeta-3*3600) вместо date("H:i",$tmeta+3*3600)? PS Цитата:
смещает правильно - что-то у тебя с часами нетак |
Цитата:
Цитата:
|
| Часовой пояс GMT +4, время: 08:32. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.