0

ユーザーが次のような値を入力できるようにしたいと思います。

4 hours

23 minutes

strtotime は、これらの値を秒に変換するのに最適ですが、現在の時刻に加算されます。今からではなく、合計で入力された時間を返すようにする方法はありますか? または、次のようなことをする必要がありますか:

$time = strtotime($value) - time();

議論のために言うと、strtotime で評価する時間と time で評価する時間の間で time の値が変化するとどうなるでしょうか?

4

2 に答える 2

5
$time = strtotime($value, 0);

http://php.net/strtotime

$time = strtotime($value) - time();

議論のために言うと、strtotime で評価する時間と time で評価する時間の間で time の値が変化するとどうなるでしょうか?

strtotime($value)次に、が最初に評価され、時間が経過すると の結果がtime()予想よりも大きくなるため、数秒 (おそらく 1 秒) を逃します (おそらく 1 秒;))

于 2012-05-30T13:21:52.397 に答える
0

このパターンを使用して、常に同じ時間で作業していることを確認できます。

$start = time();
$time = strtotime($value, $start) - $start;

または、さらに簡単に、2 番目の引数を 0 に設定して減算をスキップします。

$time = strtotime($time, 0);
于 2012-05-30T13:53:26.293 に答える