Насколько я понимаю, клиенту нужно переводить время в ISO формат, и добавлять часовой пояс.
Но как вариант вы можете принимать заголовок от клиента, например Accept-Timezone и отдавать время в нужном формате и в нужной тайм-зоне.
С этим прекрасно справляется сам php, например так:
public function getDateWithTimeZone($time, $timezone = 'UTC')
{
return (new \DateTime($time, new \DateTimeZone(date_default_timezone_get())))
->setTimezone(new \DateTimeZone($timezone))
->format('Y-m-d H:i:s');
}
Тогда клиенту не нужно будет задумываться о переводе времени и часовых поясах. И Laravel будет спокойно валидировать даты, без изобретения велосипеда.
Но как вариант вы можете принимать заголовок от клиента, например Accept-Timezone и отдавать время в нужном формате и в нужной тайм-зоне.
С этим прекрасно справляется сам php, например так:
public function getDateWithTimeZone($time, $timezone = 'UTC') { return (new \DateTime($time, new \DateTimeZone(date_default_timezone_get()))) ->setTimezone(new \DateTimeZone($timezone)) ->format('Y-m-d H:i:s'); }Тогда клиенту не нужно будет задумываться о переводе времени и часовых поясах. И Laravel будет спокойно валидировать даты, без изобретения велосипеда.