首页 > 解决方案 > 从碳日期中删除小时、分钟和秒

问题描述

我目前收到的 Carbon 日期如下:2021-03-17 17:14:42.01811,我不想考虑小时、分钟和秒,将其转换为一天的开始。

此值不打算格式化为字符串,因为在代码中它用于与其他日期进行比较。

我设法提出了一个解决方案,但它似乎不是最有效的解决方案, 我以now()函数为例

\Carbon\Carbon::parse(\Carbon\Carbon::now()->format('Y-m-d'));

有没有更正确的方法来做这个操作?

标签: phpdatedatetimephp-carbon

解决方案


您可以使用 Carbon 的hour,minutesecondsetter。

$dt = Carbon::now();
$dt->hour = 0;
$dt->minute = 0;
$dt->second = 0;

查看文档

或流利的二传手:

$dt = Carbon::now()
    ->hour(0)
    ->minute(0)
    ->second(0);

或者使用 fluent settersetTime($hour, $minute, $second = 0, $microseconds = 0)也将微秒设置为零:

$dt = Carbon::now()->setTime(0, 0)

查看文档


推荐阅读