1

PHP で 2 つの日付を比較する方法の例がスタック オーバーフローにたくさんあることは知っていますが、コードを正しく動作させることができません。

現在、キャッシュ日付とヒット日付の 2 つの日付があります。キャッシュの日付がヒット日から 2 時間以上前の場合、新しい情報を再キャッシュするように設定しようとしています。現在、MySQL に次の形式で日付を保存しています。$lastcache = date("m.d.y G:i");

私の現在のコードは、約半分の時間しか機能しません (ほとんどの場合、何らかの理由で後日) は次のとおりです。

$lastcache = $row['lastcache'];
$expiredate = date("m.d.y G:i", strtotime("-120 minutes"));

if( $expiredate > $lastcache){
    cache($input);      
}else{
    //do cool stuff
}

これら 2 つの日付を比較して、2 時間以上経過したかどうかを確認するにはどうすればよいですか?

4

2 に答える 2

5

このコードは私にとって完璧に機能し、変数で更新されます。

$interval = (strtotime(date("Y-m-d H:i:s")) - strtotime($lastcache) ) / 60;

これは時間間隔を分単位で返します。フォーマットに数学を追加して、必要なフォーマットにします。

間隔の結果を分単位で保持すると仮定すると、次のようになります。

if($interval >= 120) {...}
于 2012-07-31T15:20:11.410 に答える
-1

PHP の Date/Time オブジェクトの使用を検討してください。ドキュメントはここにあります

于 2012-07-31T15:41:00.273 に答える