我有一个数据库表,以TIME格式存储餐馆的营业时间作为时间范围。例如,如果餐厅的营业时间是'上午9点至下午5点',那么将有2列'hours_open'和'hours_close',我在'hours_open'中存储9:00,在'hours_close'中存储17:00。我需要做的是显示小时范围,例如:上午9:30上午10:00上午10:30上午11:00上午11:30至下午5:00
有人能指出我正确的方向吗?
答案 0 :(得分:5)
$start = strtotime('6:00am');
$end = strtotime('09:00am');
$range = array();
while ($start !== $end)
{
$start = strtotime('+30 minutes',$start);
$range[] = date('h:ia', $start);
}
print_r($range);
答案 1 :(得分:1)
有人能指出我正确的方向吗?
当然,这里有你需要的一切:
答案 2 :(得分:0)
在我当前的项目中,我不得不循环浏览一天中的24小时...,并希望它们以某种格式显示。
$interval = new DateInterval('PT1H'); // creating the interval for 1hour
$date = new DateTime();
$end = clone($date);
$hoursRange = new DatePeriod($date, $interval ,$end->modify("+24 hours"));
然后我所要做的就是使用foreach遍历hoursRange值。
foreach ($hoursRange as $key => $value)
{
echo $value->format('ga');
}