【发布时间】:2018-03-26 23:44:11
【问题描述】:
我将小时数存储在我的数据库中,如下所示
8 pm to 2 am
或
8pm - 2am
8 pm - 2 am
当我尝试使用 Carbon 格式化这些时,我收到一个关于没有分钟的错误,我需要做的就是将 Carbon::now() 与引用的打开/关闭时间进行比较
这是我的代码
$barDays = barDays::where('bar_id', $Bar->id)->where('day_id', $day)->first();
if($barDays === NULL) {
$barDays = barDays::create([
'bar_id' => $Bar->id,
'day_id' => $day,
'hours' => $Bar->hours,
'musicType' => $Bar->musicType,
'type' => $Bar->type
]);
$barDays->save();
} else {
$barDays = $barDays->hours;
}
$hours = explode(' - ', $barDays, 2);
if(count($hours) < 2) {
$hours = explode(' to ', $barDays, 2);
} elseif(count($hours) < 2) {
$hours = explode(' – ', $barDays, 2);
}
if($hours === ['Closed']) {
$Bar->numPeople = 0;
$Bar->hours = 'Closed';
$Bar->save();
} else {
try {
$openHours = $hours[0];
$closedHours = $hours[1];
} catch(\Exception $e) {
return $hours;
}
$open = Carbon::createFromTime($openHours, $Bar->timezone);
$closed = Carbon::parse($closedHours, $Bar->timezone)->addDays(1);
我得到的确切错误是找不到两位数的分钟数据丢失
但是我该如何纠正呢?
【问题讨论】:
-
在docs 中显示:
Carbon::createFromTime($hour, $minute, $second, $tz); -
对,并不是要包括那个,它不允许专门用于 AM/PM,这将是一个问题
标签: php laravel php-carbon