如何在 Laravel 中创建 Carbon 日期
How to create a Carbon date in Laravel
如果我有以下格式的日期部分 'd M Y' 并且我在单独的变量中有小时和分钟作为整数,你如何创建 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);
* 更新 *
设法弄清楚:
Carbon::createFromFormat('d M Y H:i:s', $this->start_dt . ' ' . $this->start_hr . ':'. $this->start_min . ':00');
如果您愿意使用 createFromFormat,那么您必须像这样将第二个参数输入为字符串:
$dt=Carbon\Carbon::createFromFormat('d M Y H:i', $this->start_dt.' '.$this->start_hr.':'.$this->start_min);
Carbon::createFromDate($year, $month, $day, $tz);
Carbon::createFromTime($hour, $minute, $second, $tz);
Carbon::create($year, $month, $day, $hour, $minute, $second, $tz);
$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);
如果我有以下格式的日期部分 'd M Y' 并且我在单独的变量中有小时和分钟作为整数,你如何创建 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);
* 更新 *
设法弄清楚:
Carbon::createFromFormat('d M Y H:i:s', $this->start_dt . ' ' . $this->start_hr . ':'. $this->start_min . ':00');
如果您愿意使用 createFromFormat,那么您必须像这样将第二个参数输入为字符串:
$dt=Carbon\Carbon::createFromFormat('d M Y H:i', $this->start_dt.' '.$this->start_hr.':'.$this->start_min);
Carbon::createFromDate($year, $month, $day, $tz);
Carbon::createFromTime($hour, $minute, $second, $tz);
Carbon::create($year, $month, $day, $hour, $minute, $second, $tz);
$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);