日付文字列は次のようになります
2011-08-19 17:14:40
(年月日時間:分:秒)
日付が現在の日付より30日以上古いかどうかを確認するにはどうすればよいですか?
次のようなものを使用してみてください。
if(strtotime('2011-08-19 17:14:40') < strtotime('-30 days')) {
// this is true
}
また、この文字列は、datetime/timestampフィールドとしてSQLに保存されているように見えます。以下を使用して、古い日付のデータベースからすべてのエントリを直接選択できます。
SELECT ... WHERE `datetime` + INTERVAL 30 DAY < NOW()
PHP 5.3以上の場合は、以下を実行できます。
$someDate = new \DateTime('2011-08-19 17:14:40');
$now = new \DateTime();
if($someDate->diff($now)->days > 30) {
echo 'The date was more than 30 days ago.';
}
次のようにCarbonを使用できます
if (30 - ((new \Carbon\Carbon($given_date, 'UTC'))->diffInDays()) < 0) {
echo "The date is older than 30 days";
}
strtotime('2011-08-19 17:14:40') + 30 * 24 * 60 * 60 < time();