関数概要
フォーム等で時間の一覧を作成する際に、何時から何時まで何分おきに一覧を生成。
間隔の指定方法については、DateInterval::__constructを参照して下さい。
function TimeValues ($id = "", $startHour = "00:00", $endHour = "24:00", $step = 'PT15M') {
if ($id == "") {
// $idに指定がなければ、現在の時を選択済みに指定
$id = date ('H:00');
}
// 開始日時と終了日時を指定する
$d = date('Y-m-d');
$start = new DateTime($d . ' ' . $startHour);
$end = new DateTime($d . ' ' . $endHour);
// ループの間隔をDateIntervalクラスで指定
// 時間の間隔を指定
$date_interval = new DateInterval($step);
// DatePeriodのインスタンス作成
$date_period = new DatePeriod($start, $date_interval, $end);
$values = array ();
$i = 0;
// ループで回して好きなように加工
foreach($date_period as $key=>$val) {
$values[$i]['id'] = $val->format('H:i');
$values[$i]['value'] = $val->format('H:i');
if ($values[$i]['id'] === $id) {
$values[$i]['selected_value'] = " selected";
$values[$i]['checked_value'] = " checked";
}
$i ++;
}
return $values;
}
コメントを残す