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 以降でしか動かない。
単純に掛け算するよりスッキリしていいと思うし、外部ライブラリに依存しないのでよろしい。