Я только начал использовать расширение Carbon (кажется довольно приятным до сих пор), но я запутался в функции Carbon::now()
. Согласно документам, кажется, что эта функция должна отражать текущее время в текущем часовом поясе пользователей, однако, похоже, я получаю время, которое на час опережает GMT.
т.е. Carbon::now()
говорит 2015-01-01 17:26:46
когда я на PST, и это на самом деле в настоящее время 2015-01-01 08:26:46
.
Должен ли я обнаруживать и устанавливать локальный часовой пояс пользователей для всех экземпляров?
Что дает? (У меня очень хорошо может быть фундаментальное непонимание того, как сайт получает местное время для пользователей)
Это связано с тем, что часовой пояс вашего сервера отличается от вашего собственного.
Это может быть вызвано:
Часовой пояс сервера, по-вашему, представляет собой CET (Центральноевропейское время), которое составляет +1 GMT.
Чтобы исправить это, вы должны изменить часовой пояс в файле php.ini
(инструкции указаны из ссылки):
php.ini
date.timezone = "US / Central"
В качестве альтернативы вы должны заменить часовой пояс US/Central
на требуемый часовой пояс, как описано здесь, если вы хотите, чтобы PHP использовал другой часовой пояс.
Углерод основан на UTC, поэтому просто делать Carbon::now()
будет выводить время в формате UTC
Вы должны указать часовой пояс для точного отражения даты в вашем городе или области.
Есть два способа сделать это. Вы можете:
Carbon::now('PST')
ИЛИ Carbon :: now ('Continent / City'), например (Carbon::now('America/Montreal')
например