どのようにして、開始時刻と継続時間に基づいて終了時間を計算していますか?
質問
私は、イベントカレンダーを構築し、2009年9月25日午後3時00分00秒の形式で、PHPに開始時間を渡しています。所要時間は60分〜3時間の形式であるかもしれないこと、なども渡されます。数時間から数分に変換することは問題ではありません。どのように正しく終了時刻をフォーマットするために設立され、開始点までの時間の長さを追加するには?
解決
あなたは現在の時刻(2009年9月25日午後03時00分に変換することができますののstrtotime()を使用して、 :00)タイムスタンプにした後のタイムスタンプに(60 * 60 * 3 = 3時間)を加えます。最後に、ちょうどあなたが好きな時間に戻ってそれを変換します。
//Start date
$date = '2009-09-25 15:00:00';
//plus time
$plus = 60 * 60 * 3;
//Add them
$time = strtotime($date) + $plus;
//Print out new time in whatever format you want
print date("F j, Y, g:i a", $time);
他のヒント
簡単な方法あなたが十分に高いバージョン番号を持っている場合:
$when = new DateTime($start_time);
$when->modify('+' . $duration);
echo 'End time: ' . $when->format('Y-m-d h:i:s') . "\n";
Xeoncrossの良いstrtotime
の答え@への補遺として、strtotime()
は、「2009年9月25日3時間」、「9月25日6日」、「次の月曜日」、「先週の金曜日」、「-15分のようなフォーマットをサポートしています」など。
所属していません StackOverflow