从碳日期中删除小时、分钟和秒
Remove hours, minutes and seconds from Carbon date
我目前收到的 Carbon 日期如下:2021-03-17 17:14:42.01811,我不想考虑小时、分钟和秒,将其转换为一天的开始。
此值不应格式化为字符串,因为在代码中它用于与其他日期进行比较。
我设法找到了一个解决方案,但它似乎不是最有效的解决方案,我正在使用 now()
函数作为示例。
\Carbon\Carbon::parse(\Carbon\Carbon::now()->format('Y-m-d'));
有没有更正确的操作方法?
您可以使用 Carbon 的 hour
、minute
和 second
setter。
$dt = Carbon::now();
$dt->hour = 0;
$dt->minute = 0;
$dt->second = 0;
或者流利的setters:
$dt = Carbon::now()
->hour(0)
->minute(0)
->second(0);
或者使用 fluent setter setTime($hour, $minute, $second = 0, $microseconds = 0)
也将微秒设置为零:
$dt = Carbon::now()->setTime(0, 0)
你在找
Carbon::today()
http://carbon.nesbot.com/docs/#api-formatting
就用这个
$dt = Carbon::now();
echo $dt->toDateString();
converting it to the start of the day.
Carbon::now()->startOfDay();
试试看:https://try-carbon-lib.herokuapp.com/?input=echo%20Carbon%3A%3Anow()-%3EstartOfDay()%3B
我目前收到的 Carbon 日期如下:2021-03-17 17:14:42.01811,我不想考虑小时、分钟和秒,将其转换为一天的开始。
此值不应格式化为字符串,因为在代码中它用于与其他日期进行比较。
我设法找到了一个解决方案,但它似乎不是最有效的解决方案,我正在使用 now()
函数作为示例。
\Carbon\Carbon::parse(\Carbon\Carbon::now()->format('Y-m-d'));
有没有更正确的操作方法?
您可以使用 Carbon 的 hour
、minute
和 second
setter。
$dt = Carbon::now();
$dt->hour = 0;
$dt->minute = 0;
$dt->second = 0;
或者流利的setters:
$dt = Carbon::now()
->hour(0)
->minute(0)
->second(0);
或者使用 fluent setter setTime($hour, $minute, $second = 0, $microseconds = 0)
也将微秒设置为零:
$dt = Carbon::now()->setTime(0, 0)
你在找
Carbon::today()
http://carbon.nesbot.com/docs/#api-formatting
就用这个
$dt = Carbon::now();
echo $dt->toDateString();
converting it to the start of the day.
Carbon::now()->startOfDay();
试试看:https://try-carbon-lib.herokuapp.com/?input=echo%20Carbon%3A%3Anow()-%3EstartOfDay()%3B