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