Laravel Carbon,设置特定的小时:分钟:秒

pmi*_*nda 7 laravel php-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"
}
Run Code Online (Sandbox Code Playgroud)

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

Carbon {#764 ?
  +"date": "2019-07-20 23:59:59.000000"
  +"timezone_type": 3
  +"timezone": "UTC"
}
Run Code Online (Sandbox Code Playgroud)

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

cee*_*yoz 12

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

Carbon\Carbon::now()->endOfDay()
Run Code Online (Sandbox Code Playgroud)

您还可以更普遍地使用setter

$new_days_count->hour = 23;
$new_days_count->minute = 59;
$new_days_count->second = 59;
Run Code Online (Sandbox Code Playgroud)

或者

$new_days_count->hour(23);
$new_days_count->minute(59);
$new_days_count->second(59);
Run Code Online (Sandbox Code Playgroud)

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

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