首页 > 解决方案 > Laravel Carbon,设置特定的时:分:秒

问题描述

我有一个碳日期,例如:

$new_days_count = Carbon::now();

dd($new_days_count);

Carbon {#764 ▼
  +"date": "2019-07-20 19:06:49.119790"
  +"timezone_type": 3
  +"timezone": "UTC"
}

现在,我想为该时间设置一个特定的小时:分钟:秒,以便:

Carbon {#764 ▼
  +"date": "2019-07-20 23:59:59.000000"
  +"timezone_type": 3
  +"timezone": "UTC"
}

我该如何设置?我想总是设置在23:59:59.000000

标签: laravelphp-carbon

解决方案


对于您的特定用例,应该这样做:

Carbon\Carbon::now()->endOfDay()

您还可以更一般地使用设置器

$new_days_count->hour = 23;
$new_days_count->minute = 59;
$new_days_count->second = 59;

或者

$new_days_count->hour(23);
$new_days_count->minute(59);
$new_days_count->second(59);

$new_days_count->setHour(23)$new_days_count->set('hour', 23)。不要问我为什么有十二种不同的方法;他们都做同样的事情,所以选择你喜欢的外观。

(如果您真的关心微秒,您也可以$new_days_count->micro(0)将其设置为零。)


推荐阅读