La chaîne de date ressemble à ceci
2011-08-19 17:14:40
(heures année-mois-jour: minutes: secondes)
Comment savoir si la date est antérieure à la date actuelle avec plus de 30 jours?
Essayez d'utiliser quelque chose comme ceci:
if(strtotime('2011-08-19 17:14:40') < strtotime('-30 days')) {
// this is true
}
En outre, cette chaîne semble être stockée dans SQL en tant que champ datetime/timestamp. Vous pouvez sélectionner directement toutes les entrées de votre base de données avec les anciennes dates en utilisant:
SELECT ... WHERE `datetime` + INTERVAL 30 DAY < NOW()
Si vous êtes sur PHP 5.3 ou supérieur, vous pouvez faire:
$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.';
}
Vous pouvez utiliser Carbon comme suit
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();