如何使用mysql的字符串形式的时间范围创建下拉日期范围

时间:2015-01-30 05:06:23

标签: php mysql time

我以24小时格式保存此09 : 00-12 : 3115 : 00-17 : 00的时间范围。我这次爆炸这样:

                 $time = array();
                $time = explode('-',$data['tele_timings']);$starttime='';
                $starttime = $time[0];
                $endtime = $time[1];

$data['tele_timings']是我从数据库中选择的时间。它的格式是我上面提到的。我尝试了很多方法但没有创建时间范围的下拉列表。我尝试过的一种方法是:

$time_start = $starttime;
            $time_end   = $endtime;

$timestamp_start = strtotime(date('d-m-Y').' '.$time_start);
$timestamp_end   = strtotime(date('d-m-Y').' '.$time_end);
$options_array = '';
while($timestamp_start <= $timestamp_end){
$options_array.='<option value="">'.date('H:i',    $timestamp_start).'</option>';

 $timestamp_start = $timestamp_start+900; //Adds 15 minutes     
 }
echo $options_array;

1 个答案:

答案 0 :(得分:3)

你的逻辑是正确的。但实际问题是,当你将字符串分解为开始和结束时间时,例如09:00-12:31

star_time = 09:00 end_time = 12:31存储。

这不是您以正确方式进行所需的中间结果。 所以你需要删除它们之间的所有空格。为此目的,使用str_replace()函数..Accroding到你的代码使用:

$ starttime = str_replace(&#39;&#39;,&#39;&#39;,$ time [0]); $ endtime = str_replace(&#39;&#39;,&#39;&#39;,$ time [1]); 然后继续使用相同的逻辑。 祝你一切顺利:)