PHP: Prüfen ob Datum innerhalb 30 Tage liegt.

Gast #6110070
Lesenswert?
• ▲
▼
Ich bin so gerade ein bissle am verzweifeln. :-D

Ich habe ein Datum in einer SQL liegen im Format DATE mit z.b. 
2020-01-24. Nun möchte ich dieses Datum prüfen, ob es in den nächsten 30 
Tagen ist.

Ich scheitere aber :-D
1
if( strtotime($row['prüftermin']) > strtotime('-30 days') ) 
2
{
3
   echo "Innerhalb 30 Tage";
4
} else {
5
            
6
   echo "Nicht innerhalb 30 Tage";
7
}

Mit obigen Code zeigt er mir alle Daten innerhalb der Range, obwohl die 
Daten noch in 2 Jahren sind etc...

Wo liegt da mein Fehler?

PHP Version ist 7.4.1
Persönliche Seite #6110076
Lesenswert?
• ▲
▼
1. Hast du die Ergebnisse der strtotime-Aufrufe mal getestet?

2. "innerhalb" der nächsten 30 Tage bedeutet:
  a) später als jetzt
  UND
  b) früher als in 30 Tagen

Du prüfst vermutlich "später als vor 30 Tagen"



Ich würde das Unix-Datum des Prüftermins in einer Variable speichern, 
die restlichen Vergleiche dann ohne strtotime mit der time()-Funktion 
machen. 30 Tage sind 30*24*3600 Sekunden.
Gast #6110105
Lesenswert?
• ▲
▼
Einweiser schrieb:
> if( strtotime($row['prüftermin']) > strtotime('-30 days') )
>
> und insbesonders im Argument des rechten strtotime() calls

Der rechte call zeigt mir:
1
unix: 1576652588
2
date: 18/18/2019

ahhhhh........... :-D


ja jetzt kam es mir die Schuppen von den Haaren:
1
if( strtotime($row['prüftermin']) < strtotime("+30 days"))

Manchmal hat man echt so ein Brett vor dem Kopf. Kann ja nicht klappen 
wenn man in die Vergangenheit prüft, weil ja alles in der Vergangenheit 
ist.

So klappt das nun... Danke für deinen Denkanstoß. :-D

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.