База данных не будет хранить правильный часовой пояс - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь сохранить запись, для которой указана дата c.

  1. Дата указана в углеродном формате.
  2. База данных использует postgresql 11, с типом данных timestamp_with_timezone
  3. APP_TIMEZONE был установлен на UTC на .env.

здесь дамп $record до $record->save()

"started_at" => Carbon @1583895600 {#920
  date: 2020-03-11 10:00:00.0 Asia/Bangkok (+07:00)
}
"finished_at" => Carbon @1584104400 {#2112
  date: 2020-03-13 20:00:00.0 Asia/Bangkok (+07:00)
}

, вот что внутри журнала запросов после сохранения

0 => Carbon @1583895600 {#920
  date: 2020-03-11 10:00:00.0 Asia/Bangkok (+07:00)
}
1 => Carbon @1584104400 {#2112
  date: 2020-03-13 20:00:00.0 Asia/Bangkok (+07:00)
}

и вот дамп Model::find($record->id)

"started_at" => "2020-03-11 10:00:00-07"
"finished_at" => "2020-03-13 20:00:00-07"

Он стал минусом вместо плюса, и я не знаю, что вызывает это. Я попытался сохранить дату со строкой вместо Carbon, которая равна 2020-03-11 10:00:00 +07:00, но она дает точно такой же результат. И что еще хуже, что это происходит случайно . Он отлично работает на моем ноутбуке, промежуточном сервере, но не на ноутбуке моего коллеги и на рабочем сервере. Я подтвердил, что все используют одну и ту же среду.

В чем может быть причина?

...