### フォーム入力
1. フォームから時間を入力する場合はselect文で5分単位で選べるように、5分単位のテーブルを作る
insert into minutes (name) values (’00’);
insert into minutes (name) values (’05’);
insert into minutes (name) values (’10’);
insert into minutes (name) values (’15’);
insert into minutes (name) values (’20’);
insert into minutes (name) values (’25’);
insert into minutes (name) values (’30’);
insert into minutes (name) values (’35’);
insert into minutes (name) values (’40’);
insert into minutes (name) values (’45’);
insert into minutes (name) values (’50’);
insert into minutes (name) values (’55’);
2. select文では、minutesテーブルから値を呼び込む
{!! Form::select('start', $minutes, 1, ['class' => 'form-control']) !!}
### 現在時刻を5分単位でDBに入力
$minute = date('i'); $minute_margin = 5; if($minute % $minute_margin){ $minute += $minute_margin - ($minute % $minute_margin); }
例: 43分の時:43 + (5-3) = 45
上記は端数があった場合繰り上がりですが、$minute -= $minute % $minute_margin とすれば、繰り下がりになる筈です。
あ。。。55〜00分の処理忘れてた。。
### 追加
$hour = date('H'); $minute = date('i'); $minute_margin = 5; if($minute % $minute_margin){ if($minute > 55){ $hour = date('H',strtotime("+1 hour")); $minute = 00; } else { $minute += $minute_margin - ($minute % $minute_margin); } }