仅使用 Carbon 解析时间

问题描述

我的 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;

我可以在我的 Caster 类中使用 Carbon 解析这种时间格式吗

#[\Attribute] class TimeCaster implements Caster
{
    public function cast(mixed $value): mixed
    {
        return Carbon::parse($value)->format();
    }
}

解决方法

我认为您使用了 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')

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...