2016-07-04 10 views
0

DateTimeクラスを使用して、一定の時間が経過したかどうかを確認しようとしています。これは次のようになりますためPHP DateTime:booleanでメンバー関数format()を呼び出す

$timeToCheck = $users[$i]["lastLoggedIn"] . " " . $users[$i]["lastTimeOn"]; 

例:2016年3月9日午前1時32分44秒...

を、それが失敗したDateTimeクラスを使用している場合しかし、これは私が私のデータベースから取得し、私の文字列です。

その後、私は以下を使用:

$dbTimeStamp = date_create_from_format('Y-m-d H:i:s', $timeToCheck); 

$timeStamp = new DateTime($dbTimeStamp->format('Y-m-d H:i:s')); 

$timeLimit = $timeStamp->add(new DateInterval("PT24H")); 

$timeNow = new DateTime(); 

Iは、次のエラーが表示さ:$timeStamp = new DateTime($dbTimeStamp->format('Y-m-d H:i:s'));

にブールに()メンバ関数形式に電話

、データベース内の日付形式は、私が作成しようとしていますフォーマットと同じ例えばですが、私は私が間違っているのかを見ることができない2016年3月9日午前1時32分44秒

でしょうか?

+1

[ "失敗時に新しいDateTimeのインスタンスまたはFALSEを返します。"](http://php.net/manual/en/datetime.createfromformat.php#refsect1- datetime.createfromformat-returnvalues)。 –

+0

'$ timeToCheck'の値は何ですか? –

+0

たとえば、2016-03-09 01:32:44になります。私は1つを入れましたが、 '$ timeToCheck'のコードを示した後に置くべきでしょう... – Embluk

答えて

0

$timeToCheck$timeToCheck = "2016-08-21 01:22:18";に設定しようとしましたが、エラーが表示されませんでした。

私の日付と時刻の文字列を作成する私の2つのソースは、日付と時刻によってデータベース内で別々になっていたので、これを1つの文字列ですべて更新しました。

私は次のように使用:

$dateTime = date("Y-m-d H:i:s"); 
関連する問題