存储时间戳,时间00:00:00

Tra*_*ace 13 php mysql datetime php-carbon

我想在时间组件中将时间戳存储在数据库中00:00:00.
以下代码:

$start_date = Carbon::createFromFormat('d-m-Y', $date_interval["start_date"]); 
$end_date = Carbon::createFromFormat('d-m-Y', $date_interval["end_date"]); 
Run Code Online (Sandbox Code Playgroud)

将当前时间添加到日期,当我仅提供没有时间规范的日期时.
我需要这个,因为我需要从数据库中检索内部整数,这应该是一天的开始.

存储这个"一天开始"的最佳方法是什么?

Abd*_*bab 16

为安全起见,让Carbon使用->endOfDay()或决定当天的结束或开始->startOfDay().选择更适合你的选择.

Carbon::createFromFormat('d-m-Y', $date_interval["start_date"])->endOfDay();
Carbon::createFromFormat('d-m-Y', $date_interval["start_date"])->startOfDay();
Run Code Online (Sandbox Code Playgroud)

  • @Trace 有没有办法选择我的答案,因为它更新了? (2认同)

Ali*_*man 15

我通常会通过电话设置日期,然后将时间重置为00:00

Carbon::setTime(0, 0, 0);  // from the parent, DateTime class
Run Code Online (Sandbox Code Playgroud)

在类中,还有一个Carbon :: startOfDay()方法,它将设置适当的值.

public function startOfDay()
{
    return $this->hour(0)->minute(0)->second(0);
}
Run Code Online (Sandbox Code Playgroud)