MySQL と PHP 5.3 の使用
という名前の MySQL DATETIME フィールドがありますlast_accessed
。の形式です。yyyy-mm-dd hh:mm:ss
last_accessed
の値がと比較して 30 分より古いかどうかを確認したいnow
。$stillInTime
もしそうなら、私はと呼ばれる変数が欲しいfalse
. それ以外の場合は ですtrue
。
PHP で比較を記述する最良の方法を知る必要があります。最善とは、可能な限り最も読みやすいコード ブロックを意味します。
私は使っているdate_default_timezone_set('UTC');
コードのブロックは、分、時間、日、月、年の単位を使用して比較できるように柔軟にする必要があります。
私は以下の試みをしています:
public function isInTime($datetimeInMySQL, $intervalInString = '30 minutes') {
$mySQLDateTimeObject = new DateTime($datetimeInMySQL);
$dateTimeInterval = date_interval_create_from_date_string($intervalInString);
$nowDateTimeObject = new DateTime('now');
$mySQLDateTimeObject->add($dateTimeInterval);
$stillInTime = ($mySQLDateTimeObject > $nowDateTimeObject);
return $stillInTime;
}
これは私の質問に対する私の試みです。StackOverflow を通じてより良い答えを求めたいと思っています。