Datum berechnen extra kompliziert.

Gray

Erfahrenes Mitglied
Erstmal die Daten:

// Bestelldatum: 16.04.2003
// aktuelles Datum: 24.06.2005

Es ist so, der Kunde hat bestellt zum genannten Datum.
Nun soll es wenn er kündigt das Kündigungsdatum errechnen.

Allerdings gibt es da noch die sache immer 1 Jahr Laufzeit und es mus einen Monat vor Vertragslaufzeitende gekündigt werden.

Wer also zum 24.5.2004 bestellt und am 10.5.2005 kündigt hat ein Kündigungsdatum vom 24.5.2006 hier muss es allerdings noch einen Tag zurückrechnen, also muss als Endergebniss 23.5.2006 rauskommen.
 
So kompliziert ist das garnicht... :-)
PHP:
<?php
/**
 * Datum aus der Variable $datum im Format dd.mm.YYYY auslesen
 * Datum in einen Linux-Timestamp umwandeln und gleichzeitiges Errechnen des Kündigungsdatums
 */
$bestDatum = '22.09.2005';
$arr = explode(".",$bestDatum);
$kuendStamp = mktime(0,0,0,$arr['1']+1,$arr['0']-1,$arr['2']+1);
echo $kuendDatum = date('d.m.Y',$kuendStamp);
?>
 
THX, klappt aber nicht ganz, wenn das Bestelldatum 17.05.2003 ist wird aus dem KuendDatum 30.12.2000
 
Hm, bei mir wird da 16.06.2004 draus...
...und so soll es auch sein, oder?! ;)

Hast du vielleicht etwas davon angepasst oder verändert?! Wenn ja, achte auf die Groß- und Kleinschreibung in deinem Code.
 
habs nochmal einzeln aufgerufen, da kommt jetzt aber 16.06.2004 raus, naja fast richtig nur das Jahr noch nicht, sehr seltsam.
 
Hallo!

Da ist ein Verdreher in der Datumsberechnung.
So muss es heissen:
PHP:
$kuendStamp = mktime(0,0,0,$arr['1']-1,$arr['0']-1,$arr['2']+1);
Dann klappt es auch mit Datum in der Vergangenheit, der Gegenwart und der Zukunft.

[edit] Wenn der 16.06.2004 das Bestelldatum ist, muss bis zum 15.05.2005 um 24 Uhr gekündigt werden.
Ab dem 16.05.2005 um 00:00:01 Uhr währe schon der 12. Monat angefangen und somit die Kündigungsfrist von mindestens einem Monat überschritten. [/edit]

Gruss Dr Dau
 
Zuletzt bearbeitet:
Zurück