【发布时间】:2020-10-16 08:28:53
【问题描述】:
我有功能
public static function isRestaurantOpen($RestaurantID)
{
$hours = settings_hours::all();
$restaurant = [];
foreach ($hours as $hour) {
if ($hour->place_id == $RestaurantID) {
$restaurant = $hour;
}
}
if(!$restaurant) return "Time not set";
$opening_hours = $restaurant->opening_hours;
$date = date_create_from_format('Y-m-d', date('Y-m-d', time())); //get date
$day = strtolower(date_format($date, 'l')); //get day of date
$now = Carbon::now()->addHours(2); //im added this because i have wrong time on the server
$start = Carbon::createFromTimeString($opening_hours[$day]['from']); //from hour
$end = Carbon::createFromTimeString($opening_hours[$day]['to']); //to hour
if ($now->between($start, $end)) {
return "Open";
} else {
return "Close";
}
}
但如果以 24 小时格式比较时间,此功能将无法正常工作。 任何人都可以帮助我吗?谢谢:)
【问题讨论】:
-
如果您不想重新编码自己的东西,请使用专用的官方 Carbon mixin:github.com/kylekatarnls/business-time
标签: laravel time php-carbon