Время правильное: Z
в конце строки означает GMT
(часовой пояс Zulu).
Когда экземпляр Carbon выводится в ответе JSON, он всегда преобразуется в Строка ISO-8601 и указывается в часовом поясе GMT, поскольку это стандартный и очень рекомендуемый способ обмена информацией о дате между системами (и так в JSON API). Если вы попытаетесь передать new Date('2020-08-20T06:46:34.407Z')
в браузере, вы увидите, что он автоматически конвертируется браузером в часовой пояс пользователя.
Если вы попробуете:
Carbon::now()->format('Y-m-d H:i:s.u')
вы увидите это использует выбранный вами часовой пояс. И вы также заставляете его отображаться в выводе:
Carbon::now()->format('Y-m-d H:i:s.u e')
Так что система / браузер в другом часовом поясе не испортят его.
Тем не менее, лучший шаг - работать с UT C на стороне вашего сервера и используйте Азию / Эр-Рияд только в самый последний момент, когда вы хотите отобразить дату для конкретного пользователя, который, как вы знаете, находится в этом часовом поясе.
Я объяснил это более подробно здесь : https://medium.com/@kylekatarnls / always-use-ut c -dates-and-times-8a8200ca3164