それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

php で 時刻差分(x分後)をint数値 にする。

php で、〇〇分後を数値に変換する。

php で 00:10:11 分後をint にしたい。

時刻の差分をサクッと、intに変換する

<?php
// 今日の 00:00:00 として
$dur = "00:04:07";
var_dump(strtotime($dur) - strtotime('00:00:00'));
// または差分として (php8.1以降)
$dur = "+00:04:07";
var_dump([date('Y-m-d H:i:s',strtotime($dur)),date('Y-m-d H:i:s',time())]);
?>

実行結果

int(247)
string(19) "2023-11-29 02:36:21"
string(19) "2023-11-29 02:40:28" 

このように、time diff (duration /eta )といった時刻の差分(残り時間、経過時間)をintに直すのには、strtotimeをいい感じに経由すればいい。

ただし、php8.1 以降でしか動かない。

単純に掛け算するよりスッキリしていいと思うし、外部ライブラリに依存しないのでよろしい。