У нас есть приложение в Laravel 5.2. В нашей базе данных publish_at хранит дату в отметке времени с экземпляром углерода в формате UTC, так же как created_at и updated_at.
Каждый пост должен быть опубликован в полночь в каждом часовом поясе. Мы сохранили наши данные о датах в формате UTC, например
'published_at' => '2016-04-12 00:00:00'
То, что мы хотим сделать, похоже на;
если его просматривает человек в США, то он/она увидит этот пост после полуночи. Если его просматривает человек в Китае, то он/она увидит этот пост после полуночи. Как мы можем этого добиться?
Это то, что мы делаем в данный момент. Но мы думаем, что это не сработает.
public function all($limit, array $data = [])
{
$posts = $this->post->with('categories')
->where(
'published_at', Carbon::now()->setTimezone($data['user_timezone'])
->format('Y-m-d 00:00:00')
)
->orderBy('published_at', 'ASC')
->paginate($limit);
}
Это первый раз, когда мы работаем в часовых поясах, и мы понятия не имеем. Любая помощь будет принята с благодарностью. Спасибо.