Я использую 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 .
Как я могу это достичь?
Часовой пояс может быть одним из трех различных типов в объектах DateTime:
new DateTime("17 July 2013 -0300"); new DateTime("17 July 2013 GMT"); new DateTime( "17 July 2013", new DateTimeZone("Europe/London")); Только объекты DateTime с прикрепленными таймерами типа 3 позволят правильно выполнять DST.
Чтобы всегда иметь тип 3, вам нужно будет сохранить часовой пояс в своей базе данных как принятые идентификаторы из этого списка и применить его к вашему объекту DateTime при создании экземпляра.