2016-02-06 102 views
0

如果我具有以下格式的日期部分'd M Y',並且我將小時和分鐘分隔爲單獨的變量(整數),如何創建碳日期。如何在Laravel中創建Carbon日期

例如。

$this->start_dt = '06 Feb 2016' 
$this->start_hr = '12' 
$this->start_min = '00' 

目前我不得不這樣做,但它也結束了添加當前秒。

Carbon::createFromFormat('d M Y', $this->start_dt)->hour($this->start_hr)->minute($this->start_min); 

結果2016-02-06 12:00:44

有不必鏈小時和分鐘並向秒設置爲00來創建一個碳日期更清潔的方式?

也許是這樣,但它不工作:

Carbon::createFromFormat('d M Y H:i', $this->start_dt, $this->start_hr, $this->start_min); 

* UPDATE *

管理弄清楚:

Carbon::createFromFormat('d M Y H:i:s', $this->start_dt . ' ' . $this->start_hr . ':'. $this->start_min . ':00'); 
+0

可以,只要你想你剛纔添加秒? –

+0

嘿耶喜歡你的編輯 –

回答

0

Documentation: Instantiation

Carbon::createFromDate($year, $month, $day, $tz); 
Carbon::createFromTime($hour, $minute, $second, $tz); 
Carbon::create($year, $month, $day, $hour, $minute, $second, $tz); 

Documentation: Fluent setters

$dt->year(1975)->month(5)->day(21)->hour(22)->minute(32)->second(5)->toDateTimeString(); 
$dt->setDate(1975, 5, 21)->setTime(22, 32, 5)->toDateTimeString(); 
$dt->setDateTime(1975, 5, 21, 22, 32, 5)->toDateTimeString(); 

解決方案:

Carbon::createFromFormat('d M Y', $this->start_dt) 
    ->setTime($this->start_hr, $this->start_min); 
1

如果你願意用createFromFormat比你不得不把第二個參數寫成這樣的字符串:

$dt=Carbon\Carbon::createFromFormat('d M Y H:i', $this->start_dt.' '.$this->start_hr.':'.$this->start_min); 
相關問題