如何将开放时间分成30分钟的块?

时间:2017-08-30 09:33:50

标签: jquery arrays laravel while-loop fullcalendar

我目前正在开设一款预订理发师预约的应用。我正在使用fullcalendar进行约会,我试图将营业时间分成单独的小时或00:30分钟。我的数据库表包含一个' start'并且'结束'时间如09:00至18:00。我正在考虑一段时间的循环,但现在不知道如何开始。它必须是一些数组。有什么想法吗?

Monday ['0' => '09:00',
        '1' => '09:30',
        '2' => '10:00',
       ];
Tuesday  ['0' => '09:00',
          '1' => '09:30',
          '2' => '10:00',
         ];

Table structure Appointments Table structure Business_hours

2 个答案:

答案 0 :(得分:0)

 <?php
 function get_minutes ( $start, $end ) { 

    while ( strtotime($start) <= strtotime($end) ) { 
   $minutes[] = date("H:i:s", strtotime( "$start" ) ); 
    $start = date("H:i:s", strtotime( "$start + 30 mins")) ;     
    } 
 return $minutes; 
} 

示例

$minutes = get_minutes('08:00', '10:00'); 
foreach($minutes as $minute) { 
echo $minute .'<br />'; 
}
?> 

答案 1 :(得分:0)

如果这些是要预订的时段,那么您最好使用代表插槽的数据结构,如:

Array('2017-01-01' => ('slot_id' => 'Dgf67654' ,
                       'from' => '09:00', 
                       'to' => '09:30'),
                      ('slot_id' => 'dsff7676', 
                       'from' => '09:30', 
                       'to' => '10:30'),
                       ...
)

并调整上面提出的get_minutes来生成这种结构。这种数据结构可以通过预订代码

使用