#php #laravel #time #data-transfer-objects
Вопрос:
У меня есть поле в моем классе DTO, которое принимает start_time и end_time как «2:00 утра».
/**
* @var string
*/
#[CastWith(TimeCaster::class)]
public string $start_time; // 01:00 AM example
/**
* @var string
*/
#[CastWith(TimeCaster::class)]
public string $end_time;
Могу ли я проанализировать этот формат времени, используя углерод в моем классе заклинателей
#[Attribute] class TimeCaster implements Caster
{
public function cast(mixed $value): mixed
{
return Carbon::parse($value)->format();
}
}
Ответ №1:
Я думаю, вы используете Carbon::createFromFormat
Carbon::createFromFormat('H:i A','10:00 PM')->format('Y-m-d H:i:s)
если вы хотите получить только время, используя метку времени, то
Carbon::parse("2021-06-26 22:00:00")->format('g:i A')