0

Форматирование часового пояса для даты Carbon

9

Я пытаюсь установить часовой пояс для даты в объекте Carbon. На локальной машине всё работает отлично, но на продакшн-сервере возникает ошибка Bad timezone.

Я пробовал следующие варианты:

$date->setTimezone('7');
$date->setTimezone('+7');
$date->setTimezone('7:00');
$date->setTimezone('+7:00');
$date->setTimezone('UTC 7');
$date->setTimezone('UTC +7');
$date->setTimezone('UTC 7:00');
$date->setTimezone('UTC +7:00');

Не понимаю, почему возникает эта ошибка на моём продакшн-сервере. Не могу найти документацию о том, какой "правильный" формат следует использовать. Может кто-то помочь?

Дополнительно: на локальной машине у меня Windows, а на продакшн-сервере - Ubuntu.

2 ответ(ов)

0

Вы можете изменить часовой пояс с помощью следующего кода:

$timestamp = '2014-02-06 16:34:00';
$date = Carbon::createFromFormat('Y-m-d H:i:s', $timestamp, 'Europe/Stockholm');
$date->setTimezone('UTC');

Этот формат работает корректно как на моем локальном проекте (Ubuntu), так и на продакшн-сервере (Redhat).

Обратите внимание, что для использования Carbon необходимо предварительно установить библиотеку с помощью Composer, если она еще не установлена. Убедитесь также, что у вас правильно настроены часовые пояса в вашем окружении.

0

Для тех, кто интересуется, вы можете связать часовой пояс следующим образом:

Carbon::now()->timezone('Europe/Stockholm');

Это позволит вам получить текущее время с учётом указанного часового пояса.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь