Nowy format daty w Laravel 7
Laravel od wersji 7, używa innego formatu serializacji daty.
Aktualnie Laravel używa metody toJSON
od biblioteki Carbon, która produkuje datę w formacie zgodnym z ISO-8601, który zawiera również strefę czasową oraz ułamkowe sekundy.
Poprzednio data miała postać:
2019-12-02 20:01:00
Aktualnie będzie wyglądała tak:
2019-12-02T20:01:00.283041Z
Warto dodać, że format ISO-8601, zwraca domyślnie strefę czasową UTC.
Możemy zachować poprzedni format daty, jednak trzeba nadpisać metodę serializeDate
w modelu.
use DateTimeInterface;
/**
* Prepare a date for array / JSON serialization.
*
* @param \DateTimeInterface $date
* @return string
*/
protected function serializeDate(DateTimeInterface $date)
{
return $date->format('Y-m-d H:i:s');
}