どもです。
ある日時と現在日時の比較を行い、差がX分以上か以下かで処理を分岐させる。
取り敢えず2つの日時をDateTimeで宣言するとして、DateTimeの差分を求める関数にはdate_diff()があります。
$checkDateTime = new DateTime('@1693463796'); //@はタイムスタンプを指す
$nowDataTime   = new DateTime();
print_r(date_diff($nowDataTime, $checkDateTime));
//結果
//DateInterval Object
//(
//    [y] => 1
//    [m] => 10
//    [d] => 8
//    [h] => 18
//    [i] => 43
//    [s] => 11
//    [invert] => 1
//    [days] => 677
//)おおっと
これ、時分秒単位の差分を取得しようとすると、ここからかなり計算しなくてはいけないですね…
差分を求める関数との触れ込みでしたが、今回使うには違う気がします。
で、色々調べてみましたが、原始的にタイムスタンプ同士を計算するのが結局正解ぽいですね。
ただしstrtotime()は2038年問題があるので結局はDateTimeクラスを噛ませるべきで、
DateTime::getTimestamp()も戻り値がint型なのは変わらないのでformat('U')にすべきだから…
$checkDateTime = (new DateTime('2025-07-09 10:00:00', new DateTimeZone('Asia/Tokyo')))->format('U');
$nowDataTime   = (new DateTime())->format('U');
echo floor(($nowDataTime - $checkDateTime)/60);これが現状の最適解かな。
