Хранение Doctrine2 DateTime только в UTC

Есть похожие вопросы, но я не смог найти ни одного, относящегося к конфигурации Doctrine2, так что вот...

Я перечитал эта страница с описанием часовых поясов для Doctrine2, и я просто хочу уточнить, потому что неясно, как на самом деле это использовать: http://doctrine-orm.readthedocs.org/en/latest/cookbook/working-with- datetime.html

Я хочу хранить дату и время в формате UTC, чтобы каждый пользователь мог иметь связанный часовой пояс в зависимости от своего местоположения, но данные хранятся в общем виде.

По сути, это данные о часах работы магазина (например, открытие в 9 утра и закрытие в 18:00).Магазин будет отслеживать свой часовой пояс, поэтому, когда человек в магазине устанавливает время «открытия», он имеет дело с часовым поясом магазина, время преобразуется в UTC и сохраняется в базе данных. Затем, когда другой пользователь просматривает часы работы магазина, он увидит время работы либо в своем часовом поясе, либо в часовом поясе магазина. Это не имеет значения, потому что у меня есть время в формате UTC, поэтому я могу преобразовать его в любой часовой пояс.

Документы Doctrine показывают такой пример:

class UTCDateTimeType extends DateTimeType
{
// ...
}

Но не сказано, как его использовать. Должен ли я объявлять столбцы как «UTCDateTime» вместо «DateTime»? Где должен жить этот класс, чтобы Doctrine знала о существовании типа?

11
задан PowerKiKi 27 August 2015 в 06:55
поделиться