В Laravel управление временем UTC имеет решающее значение для интернационализации и точной обработки операций даты и времени. В этой статье будут рассмотрены различные методы и приведены примеры кода для работы со временем UTC в Laravel.
- Использование класса DateTime:
Класс DateTime — это встроенный класс PHP, который Laravel использует для обработки дат и времени. Чтобы работать со временем UTC, вы можете создать новый экземпляр DateTime и явно установить часовой пояс в формате UTC.
$dateTime = new DateTime('now', new DateTimeZone('UTC'));
- Использование библиотеки Carbon:
Carbon — это популярная PHP-библиотека, упрощающая работу с датами и временем в Laravel. По умолчанию Carbon использует системный часовой пояс, но вы можете легко переключиться на UTC, используя методsetTimezone().
$carbon = Carbon\Carbon::now()->setTimezone('UTC');
- Использование класса CarbonImmutable:
CarbonImmutable — это неизменяемый вариант библиотеки Carbon, что означает, что исходный экземпляр остается неизменным после операций. Он предоставляет методinUtc()для преобразования экземпляра Carbon в формат UTC.
$carbonImmutable = Carbon\CarbonImmutable::now()->inUtc();
- Хранение времени UTC в базе данных.
При сохранении даты и времени в базе данных рекомендуется использовать методtimestamps()при миграции Laravel. Этот метод автоматически устанавливает для столбцов «create_at» и «обновленное_at» метки времени в формате UTC.
Schema::create('table_name', function (Blueprint $table) {
$table->timestamps();
});
- Получение времени UTC из базы данных:
Чтобы получить время UTC из базы данных, Laravel автоматически преобразует временные метки в настроенный часовой пояс. По умолчанию Laravel использует часовой пояс, указанный в файле конфигурацииapp.php. Если вы хотите явно получить время в формате UTC, вы можете использовать методasDateTime().
$record = Model::find(1);
$utcCreatedAt = $record->created_at->asDateTime();
Работа со временем UTC в Laravel необходима для точных операций даты и времени и интернационализации. Используя класс DateTime, библиотеку Carbon, класс CarbonImmutable и функции базы данных Laravel, вы можете легко управлять временем UTC и манипулировать им в своих приложениях Laravel.