如何将Carbon转换为字符串并只获取日期?

26

我有这样一个集合:

0 => array:4 [
  "so" => "SO-1"
  "product_name" => "EXTREME FORTE - BP"
  "created_at" => Carbon @1527481346 {#628
    date: 2018-05-28 04:22:26.0 UTC (+00:00)
  }
  "id" => "5b0b84027475aa1508002623"
]
如何仅提取“2018-05-28”? 有人可以帮我解决这个问题吗?不管怎样感谢。

3
你可以使用 ->toDateString() 进行转换。 - DevK
我之前尝试过在发布这个帖子之前解决这个问题,但是没有成功。 - Almaida Jody
4个回答

43
$collection_item->created_at->format('Y-m-d');

只是补充一下 - 您可以在此处找到一些常见的格式化方法 https://carbon.nesbot.com/docs/#api-formatting - Sebastian Sulinski

23

我更喜欢这个。

$model_item->created_at->toDateString();

由于模型中位于protected $dates array的所有日期字段均为\Carbon\Carbon类型。

因此,上述代码可以适用于任何日期字段,只要您在模型中将其声明为$dates array中的日期即可,如下所示

// this includes created_at and updated_at by default so no need to add it 
protected $dates = ['approved', 'seen_at'];

1
 $carbon = Carbon::parse();

 echo (string)$carbon;
 // 2022-04-13 00:00:00

 $carbon->settings(['toStringFormat' => 'Y-m-d']);

 echo (string)$carbon;
 // 2022-04-13

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接