私はこの質問を見ましたが、時間形式が異なります
変数に次の日付形式Tue, 11 Sep 2012 17:38:09 GMT
があります$pubDate
$pubDate
現在の日時と比較してTue, 11 Sep 2012 17:38:09 GMT
、過去10分以内かどうかを確認したいと思います
編集:
私が試してみました
//get current time
strtotime($pubDate);
time() - strtotime($pubDate);
if((time()-(60*10)) < strtotime($pubDate)){
//if true increase badge by one
$badge = $badge + 1;
}
警告が表示されます。システムのタイムゾーン設定に依存することは安全ではありません。date.timezone設定またはdate_default_timezone_set()関数を使用する必要があります。これらの方法のいずれかを使用してもこの警告が表示される場合は、タイムゾーン識別子のスペルを間違えている可能性があります。26行目の/Users/xxxxx/Desktop/xxxx/xxxx/xxxx.phpで、代わりに「EDT / -4.0/DST」に「America/New_York」を選択しました。
編集:
date_default_timezone_set('America/New_York');
PHPに行を追加しました。
$inDate = DateTime::createFromFormat( $format, $pubDate);
$postDate = new DateTime();
$diff = $inDate->diff( $postDate);
// If the total number of days is > 0, or the number of hours > 0, or the number of minutes > 10, then its an invalid timestamp.
if( $diff->format( '%a') > 0 || $diff->format( '%h') > 0 || $diff->format( '%i') > 10) {
die( 'The timestamps differ by more than 10 minutes');
}
警告なしに動作します、みんなありがとう