[PHP] Zeitpunkte vergleichen

ryk

BAZINGA!
ID: 66395
L
4 Mai 2006
3.313
115
Hallo,

ich möchte ne kleine Funktion schreiben in der ich Zeitpunkte vergleichen kann. Z.B., in der DB steht das Datum 20.07.2007. Dann möchte ich das mit dem aktuellen vergleichen, ob der Zeitpunkt schon abgelaufen ist. Nun kann ich die beiden Zeitpunkte ja nicht direkt miteinander vergleichen. In Java gibt es eine Funktion in dem die Millisekunden von 1970 (glaube ich) gezählt werden, anhand deren man diese einfach vergleichen kann. Gibt´s sowas auch in PHP.

Grüße
ryk
 
Zuletzt bearbeitet:
Ich an deiner Stelle würde Timestamps speichern. Dann ist das alles viel einfacher ;)
Ansonsten kannst du mit explode() und mktime() dir nen Timestamp aus dem Datum bauen und den dann vergleichen ;)
 
  • Like
Reaktionen: ryk
hmm.. hatte auch schon mal das problem.

meine lösung war damals: datum in die DB als varchar gespeichert
PHP:
$datum = date(d.m.Y);

und dann kannst du einfach damit rechnen, also
PHP:
$datum = $datum1-$datum2;

bei mir hat das geklappt, bin mir aber nicht sicher ob das eine gute lösung ist :)
 
  • Like
Reaktionen: ryk
Wenn du einfach nur schauen willst ob heute der '26.05.2002' ist dann kannst du ganz einfach if( '26.05.2002' == date('d.m.Y')) machen. In nen Timestamp umrechnen ist quatsch, um zu prüfen ob der Timestamp heute ist wäre der Aufwand bei weitem größerer.

Ansonsten Mysql kann gut mit Datumsangaben umgehen. Damit ist es kein Problem zu prüfen ob das Datum heute ist, oder irgendwelche berechnungen mit dem Datum auszuführen.
 
  • Like
Reaktionen: ryk
Okay, danke. Hat soweit funktioniert. Nun hab ich aber ein weitere kleines Problem. Nämlich die Feststellung eines Datum. Z.B. Wir haben heute den 18.07.2007 und ich möchte das Datum in 25 Tagen herausfinden. Gibt es da auch ne Funktion die quasi alle Kalenderdaten der nächsten Jahren beinhaltet und dieses neue Datum einfach berechnen kann?

Grüße
ryk
 
Okay, danke. Hat soweit funktioniert. Nun hab ich aber ein weitere kleines Problem. Nämlich die Feststellung eines Datum. Z.B. Wir haben heute den 18.07.2007 und ich möchte das Datum in 25 Tagen herausfinden. Gibt es da auch ne Funktion die quasi alle Kalenderdaten der nächsten Jahren beinhaltet und dieses neue Datum einfach berechnen kann?
Wandel 25 Tage in Sekunden um (25*60*60*24) und dann hole mit mktime() den Timestamp von dem Datum und dann rechnest du die Sekunden von den 25 Tagen auf den Timestamp und dann wandelste mit date() den neuen Timestamp in ein Datum um.
 
Schau dir DATE_ADD, DATE_SUB, INTERVAL, NOW und ggf. DATE_FORMAT an. Ersparst du dir krepliges timestamp hin- und hergerechne mit PHP.