он не влияет ни на создание(создаётся по UTC-0), ни на отображение(отображается по UTC-0).
Часовой пояс точно задаётся корректно, что я проверил такими способами:
Carbon::now()->toDateTimeString();
DB::select("SELECT CURRENT_TIMESTAMP as timestamp");
Я хотел бы, чтобы все даты мне отображались в моём часовом поясе. Но этого мало.
Здорово ещё было бы, чтобы мои запросы тоже работали с датами в UTC-0 как в моём часовом поясе. То есть чтобы
->where('timestamp', '>', Carbon::today()->toDateTimeString()); мне выдал созданные объекты вчера в 23:00 и сегодня в 01:00 по UTC-0, если у меня UTC+3 и не выдал ничего, если у меня UTC-3.
Существует ли такой функционал?
Создавай такое вручную
смотря как вы часовой пояс ставите, сам недавно похожую задачу делал, получилось вот так $timezone = $_COOKIE['timeZone']; //Europe/London config(['app.timezone' => $timezone]); date_default_timezone_set($timezone); $time = new \DateTime('now', new \DateTimeZone($timezone)); $offset = $time->format('P'); \Log::info('User timezone is ' . $timezone . ' with offset ' . $offset); \DB::statement("SET SESSION time_zone = '{$offset}'");
Обсуждают сегодня