質問: date('Y-m-d H:i:s'); } } //自動ログアウト 終わり ?> ```
回答: > > Object of class DateTime could not be converted to int > > DateTimeクラスのオブジェクトをintに変換できませんでした > > > DateTimeクラスはオブジェクトです。 newでインスタンスを生成していますよね。 四則演算は数値のためのものであり、オブジェクトなので下記のような四則演算では使えません ``` if(($dt1 - $dt2) > 60 * 10){ ``` DateTimeオブジェクトには様々な機能が備わっています。 例えば2つの差が欲しいときは diff を使えます。 ただ、これだけだと返ってくるのは「ふたつの日付の差をあらわす DateInterval オブジェクト」です。 単なる比較なら、上記diffのマニュアルにあるように比較演算子が使えます。 この辺りで「比較のやり方が効率的ではない」という風に気づいてもらえれば嬉しいですが・・・。 60 * 10 は600秒 2つの日付を比較した上で600秒以上の差があったら、このif文は成立します。 ということは **比較対象に600秒をいい感じに含ませれば引き算なんかしなくても比較演算子だけで済む** ということになります。 あとは考えてみてください。