DateTimeImmutable()のmodifyでの時刻変更がうまくいかなかった

DateTimeImmutable()を使って、下記の処理をやろうとしました。
①… 「秒」の値を 60で割って 「分」へ変換
②… ①で計算した「分」の値をmodifyで時刻($time_to_check)から引く
③… ②で変換した時刻を$time_beforeに代入

しかし、どうやら小数点の計算をさせてしまっていたようでおかしくなりました…汗
($time_beforeが2084年になってしまいました。back to the futureなため正常に動きません…)

「秒」から「分」の換算でfloor()をしたら直りました(;’∀’)
意外と小数点の処理を忘れちゃうので皆さんお気を付けください。


というか、そもそもの話ですが、 最初から時間の単位は統一しておいたほうがいいですね。(この場合なら秒に合わせてmodifyではsecondを使う)
こういう変換はミスにもつながりますし極力回避したほうがいいということがよくわかりました。

カテゴリーPHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です