PHP / Laravel - Carbon и DateTime возвращают неправильную дату / время - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть следующая проблема.Я сохраняю объект Carbon или DateTime в переменной.

    $now = Carbon::now('Europe/Berlin');

Если я использую эту команду в первый раз.Все отлично работаетНо на один день позже он возвращает последние дату и время, сгенерированные днем ​​ранее.

Например:

На данный момент правильные дата и время будут: 2018-12-14 13.48: 00, но

    dd($now);

возвращает

Carbon @1544733487 {#555 ▼
  date: 2018-12-13 21:38:07.319843 Europe/Berlin (+01:00)
}

Я использую Laravel 5.7 и проверил его на своем Mac и на своем провайдере виртуального хостинга.

Понятия не имею, что я делаю не так.Я был бы счастлив, если бы вы могли мне помочь.

С уважением, Кристиан

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

На laravel откройте файл config / app.php и найдите запись о часовом поясе.введите свой часовой пояс.

'timezone' => 'your_timezone_here'

Возможно, вы захотите запустить

php artisan config:cache

после изменения.

0 голосов
/ 14 декабря 2018

Вероятно, это связано с тем, что часовой пояс вашего сервера отличается от вашего собственного.

Это может быть вызвано:

Server misconfiguration
Physical location of the server is in a different timezone
Policies of your provider could also cause this. If your provider decides they want to operate on the same timezone on every server they have throughout the world, this will cause issues.

Часовой пояс сервера выглядит как CET (Central EuropeanВремя), что соответствует +1 по Гринвичу, как вы описали.

Чтобы это исправить, вы должны изменить часовой пояс в файле php.ini (инструкции по ссылке):

Open your php.ini file
Add the following line of code to top of your php.ini file:

date.timezone = "US/Central"

В качестве альтернативы вы должны заменить часовой пояс США / Центральный на желаемый часовой пояс, как указано здесь, если вы хотите, чтобы PHP использовал другой часовой пояс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...