Различные параметры timezone_types в объекте DateTime

Я использую Doctrine2 в Postgres. В одной таблице у меня есть два разных типа даты: birthdate:date и created_at:datetimetz . Оба становятся объектами DateTime, но с разными параметрами timezone_type . Вот списки:

created_at datetimetz:

 DateTime Object ( [date] => 2013-04-18 11:54:34 [timezone_type] => 1 [timezone] => +02:00 ) 

birthdate :

 DateTime Object ( [date] => 1970-01-01 00:00:00 [timezone_type] => 3 [timezone] => Europe/Berlin ) 

Мне нужно форматировать объекты таким же образом. Оба должны иметь timezone_type=3 .

Как я могу это достичь?

Solutions Collecting From Web of "Различные параметры timezone_types в объекте DateTime"

Часовой пояс может быть одним из трех различных типов в объектах DateTime:

  • Тип 1; Смещение UTC, например, в new DateTime("17 July 2013 -0300");
  • Тип 2; Сокращение часового пояса, например, в new DateTime("17 July 2013 GMT");
  • Тип 3: идентификатор часового пояса, например new DateTime( "17 July 2013", new DateTimeZone("Europe/London"));

Только объекты DateTime с прикрепленными таймерами типа 3 позволят правильно выполнять DST.

Чтобы всегда иметь тип 3, вам нужно будет сохранить часовой пояс в своей базе данных как принятые идентификаторы из этого списка и применить его к вашему объекту DateTime при создании экземпляра.