konvertieren einfach beide Geräte auf Unix-Zeitstempel, Ihre Subtraktion machen, dann teilen sie durch 86400:
$expiry_date = '2016-04-18';
$today = time();
$interval = strtotime($expiry_date) - $today;
$days = floor($interval/86400); // 1 day
if($days < 7) {
echo 'less';
}
Oder eine andere Art und Weise mit DateTime
Klassen:
$expiry_date = '2016-04-18';
$expiry_date = new DateTime($expiry_date);
$today = new DateTime();
$interval = $today->diff($expiry_date);
$day = $interval->format('%r%a');
if($day < 7) {
echo 'less';
}
Beispiel Bedingungen:
$expiry_date = '2016-04-18';
$today = time();
$interval = strtotime($expiry_date) - $today;
$day = floor($interval/86400); // 1 day
if($day >= 1 && $day < 7) {
echo 'between 1 - 7 days';
} elseif($day <= 0) {
echo 'deadline';
} else {
echo 'soon';
}
Ändern/ändern Sie es einfach je nachdem, was Sie tun möchten.
ich versuchte den letzteren Code @Ghost, es scheint zu arbeiten, dass es weniger auf das zukünftige Datum, das weniger als 7 Tage ab jetzt Echo ist, aber es erscheint auch das Echo weniger auf das letzte Datum in 7 Tagen ab jetzt . – zen
@zen machen Sie einfach eine andere Bedingung dafür, wenn Sie darüber hinausgehen, wenn Sie über das Ablaufdatum hinaus sind. Ich illustrierte nur den grundlegenden Vergleich, vergleichen Sie Unix-Zeitstempel oder verwenden Sie datetime – Ghost
@zen fügen Sie einfach wie zwischen 1 und 7, dann, wenn seine negative nur sagen, seine letzten Verfallsdatum oder etwas – Ghost