Как получить данные в нужной временной зоне?

Добрый день.
Столкнулся проблемой. Я записываю данные о платежах с датой в UTC
Но когда проверяем данные с платежной системой получаются кривые графики, ибо данные у них считают по московскому времени.
1. Как можно сделать выборку что бы фильтровать сразу по дате в нужной зоне?
2. Как лучше хранить даты в базе?

Есть платеж № 1 он у нас записан в базе на 2017-03-10 23.00
а в платежной системе он на 2017-03-11 2.00

И как платеж №1 получить выборкой Pay::whereDate('updated_at','2017-03-11')->sum('amount'); ?
  • Вопрос задан
  • 230 просмотров
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Хранить UTC 0, при передаче на клиент или еще куда-то - конвертировать.
В laravel можно в конфиге указать таймзону для вашего приложения.
'mysql' => [
            'driver'    => 'mysql',
            'host'      => ...,
            'database'  => ...,
            'username'  => ...,
            'password'  => ...,
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
            'timezone'  => '+03:00'
        ],
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы