0

予約システムを作成しており、フォームの値から時間文字列を合計しようとしています。最初の 2 つのフォーム フィールドは、時間 (9 から 18) と分 (00 と 30) の開始点であり、ユーザーは、たとえば 9 と 30 を選択します。

$time = "".$_POST['h'].":".$_POST['min'].":00";

2 番目のフォーム フィールドは、アイテムが予約される期間 (30 分~3 時間) です。

<select name="reserved">
<option value="0:30">30 min.</option>
<option value="1:00">1:00 h.</option>
<option value="1:30">1:30 h.</option>
<option value="2:00">2 h.</option>
<option value="2:30">2:30 h.</option>
<option value="3:00">3 h.</option>
</select>

したがって、適切な合計時間 9:30 + 0:30 = 10:00 を取得するには、$time と「予約済み」のドロップダウン値を合計する必要があります。アドバイスありがとうございます。タイムスタンプに変換して合計しようとしましたが、うまくいきませんでした。

4

2 に答える 2

4

時間を文字列として組み合わせて、それをstrtotime()関数に提供してみませんか? これにより、タイムスタンプが得られます。そこから、必要な操作を行うことができます。

ここでドキュメントを確認してください

于 2012-06-18T18:54:11.850 に答える
1

開始時刻が 9:30 で、予約時刻が 0:30 の場合、 を使用strtotimeして開始時刻のタイムスタンプを取得し、予約時刻の合計秒数を追加します。

$a = '9:30';
$b = '0:30';
list($h, $m) = explode(':', $b);
echo date('H:i', strtotime($a) + $h*60*60 + $m*60); // 10:00
于 2012-06-18T19:05:28.833 に答える