仅从 Carbon 对象获取时间

pmi*_*nda 3 php laravel php-carbon

我正在读取一个 excel 文件的一列,其值类似于“1:45:00。但是当print_r($value["time"])我的数组中的这个值时,我得到了一个像这样的 Carbon 对象:

Carbon\Carbon Object
(
    [date] => 2018-10-30 01:45:00.000000
    [timezone_type] => 3
    [timezone] => America/US
)
Run Code Online (Sandbox Code Playgroud)

然后,当我插入一个批量数组时,我的值是:

"time"=>$value["time"]
Run Code Online (Sandbox Code Playgroud)

在数据库中我得到: 2018-10-30 01:45:00

如何仅插入01:45:00而不是整个时间戳?

编辑:我认为这$value["time"]->date->format("H:i:s")会起作用,但我收到错误“试图获取非对象的属性‘日期’”

编辑 2:这就是我读取数据的方式:

excel是这样的:

date         time
----------   -------
30-10-2018   01:45:00
Run Code Online (Sandbox Code Playgroud)

我读取excel的代码:

$data = Excel::selectSheetsByIndex(0)->load($path, function($reader) {
})->get()->toArray();

foreach ($data as $key => $value) {
    $time = Carbon::createFromFormat('Y-m-d h:i:s',$value["time"])->format('h:i:s');
    print_r($time);
    die();
}
Run Code Online (Sandbox Code Playgroud)

输出:

Call to a member function format() on null

Ade*_*nde 10

你需要的是这里的格式:

$dt = Carbon::now();
$dt->toTimeString(); //14:15:16
Run Code Online (Sandbox Code Playgroud)