### フォーム入力
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テーブルから値を呼び込む
1 | {!! Form::select( 'start' , $minutes , 1, [ 'class' => 'form-control' ]) !!} |
### 現在時刻を5分単位でDBに入力
1 2 3 4 5 6 | $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分の処理忘れてた。。
### 追加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $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 ); } } |