Symfony2: Где установить пользовательский часовой пояс

Одно из моих требований к моему текущему проекту — разрешить пользователю выбирать часовой пояс для своей учетной записи, а затем использовать этот часовой пояс для всех функций, связанных с датой/временем, на всем сайте.

Как я это вижу, у меня есть два варианта:

  • Передать объект DateTimeZone в конструктор DateTime для каждого нового DateTime
  • Установить часовой пояс по умолчанию с помощью PHP date_default_timezone_set()

Кажется например, использование date_default_timezone_set - это путь, но я не уверен, где именно я должен его установить. Поскольку часовой пояс будет отличаться от пользователя к пользователю, а DateTime используются по всему сайту, мне нужно установить его где-нибудь, чтобы он повлиял на все страницы.

Может быть, я мог бы написать прослушиватель событий, который устанавливает его после успешного входа в систему? Если я выберу этот подход, он останется установленным для всех страниц или будет установлен только для каждой страницы?

Хотелось бы услышать, как к этому отнесутся другие.

6
задан Elnur Abdurrakhimov 21 September 2012 в 06:13
поделиться