CrashX
В прошлом XSiteCMS
- Регистрация
- 6 Июн 2008
- Сообщения
- 681
- Реакции
- 114
- Автор темы
- #1
собственно есть некоторое приложение в котором проставляется дата посещения, поста и тп
но тут я вижу как минимум 2 реализции
Вариант первый
дата задается с 0 часовым поясом
что я вижу хорошего в этом
-для любого пользователя в любом часовом поясе легко сделать поправку на время, что бы ему было понятно что и во сколько происходит по его местному времени, делаю это руками путем добавления недостающего количества часов
но теперь минусы,
при занесении данных в СуБД нужно делать обратную поправку
скажем в том случае если пользователь заносит новость или создает событие в своем времени то для занесения в СуБД нужно сделать обратную поправку таких полей для того что бы оно соответствовало его времени
те
я сделал задание на 12-15 скажем отправить письмо, то в 12-15 моего времени (допустим +6) оно должно отправится а по GTM это 6-15...
Вариант второй
не использовать собственный поправки на часовой пояс, а использовать
только
и корректировать только с помощью функций часовых поясов,
тут проблема как поймет скрипт что это было записано в том или ином засовом поясе.... при формате даты DateTime
----------
у кого есть идеи по этому вопросу
нужно упростить максимально обращение с датой,
чтобы оно соответствовало нужному времени, и было более менее удобным в обращении
-----
пока пользуюсь вариантом 1, но кажется все же можно избавится от обратной конвертации с форм...
но тут я вижу как минимум 2 реализции
Вариант первый
дата задается с 0 часовым поясом
PHP:
date_default_timezone_set('Europe/London');
-для любого пользователя в любом часовом поясе легко сделать поправку на время, что бы ему было понятно что и во сколько происходит по его местному времени, делаю это руками путем добавления недостающего количества часов
PHP:
if (isset($offset) && $offset != 0):
// mktime ( $hour $min $sec $mon $day $year)
$value = $this->parsedate(date('Y-m-d H:i:s', mktime($value['H'] + $offset, $value['I'], $value['S'], $value['M'], $value['D'], $value['Y'])), 0);
endif;
при занесении данных в СуБД нужно делать обратную поправку
скажем в том случае если пользователь заносит новость или создает событие в своем времени то для занесения в СуБД нужно сделать обратную поправку таких полей для того что бы оно соответствовало его времени
те
я сделал задание на 12-15 скажем отправить письмо, то в 12-15 моего времени (допустим +6) оно должно отправится а по GTM это 6-15...
Вариант второй
не использовать собственный поправки на часовой пояс, а использовать
только
PHP:
date_default_timezone_set('Europe/London');
тут проблема как поймет скрипт что это было записано в том или ином засовом поясе.... при формате даты DateTime
----------
у кого есть идеи по этому вопросу
нужно упростить максимально обращение с датой,
чтобы оно соответствовало нужному времени, и было более менее удобным в обращении
-----
пока пользуюсь вариантом 1, но кажется все же можно избавится от обратной конвертации с форм...