2017-11-22 7 views
0

期限切れの場合、キャッシュを再検証する必要があります。私のキャッシュデータがこのdatetimeと現在の時刻とのタイムゾーンを正しく比較する方法

$cacheData['valid_until'] = "2017-11-23T12:00:00+00:00" //string 

のように見える私はこれが私の現在のある

...考慮にも、タイムゾーンを服用しながら、現在のDateTimeは、$ cacheData [「valid_until」]、その後も小さい場合に、適切に比較する方法を疑問に思いますコード

private function checkCacheValidation($cacheData) { 
    $now = (new DateTime()); 
    $cacheTime = (new DateTime($cacheData['valid_until'])); 

    if ($now < $cacheTime) { 
     die('Cache is valid, no need to request new data'); 
     return true; 
    } else { 
     die('cache not valid, get new data'); 
     return false; 
    } 
} 

誰かがこの正しい方法で行っていることを確認できますか?あなたは他の解決策を提案していますか?あなたが任意の追加情報が必要な場合は、私が知っていると私は提供してください

...ありがとうは

答えて

1

あなたがfollowing topicで見ることができるように、あなたのDateTime変数を比較することができます

$d1 = new DateTime('2008-08-03 14:52:10'); 
$d2 = new DateTime('2008-01-03 11:11:10'); 
var_dump($d1 == $d2); 
var_dump($d1 > $d2); 
var_dump($d1 < $d2); 

結果を与える:

bool(false) 
bool(true) 
bool(false) 

これは実際の解決策のようです。

関連する問題