[PHP5] 60 Tage zu einem Datum hinzuaddieren geht nicht

27/06/2011 - 08:41 von Heiko Warnken | Report spam
Hallo Leute,
Das Rechnen mit Datum und Uhrzeit ist ja allgemein nicht ganz einfach.
Das scheint auch in PHP 5 so zu sein.
Wenn ich zu einem aktuellen Timestamp 60 Tage hinzuaddiere, ist das
Ergebnis hoffnungslos falsch. Hier ein Beispiel:

<?PHP
$ts = time();
$tg=date("d");
$mo=date("m");
$jahr=date("y");
$std=date("H");
$mi=date("i");
$se=date("s");
$ts1=mktime($se, $mi, $std, $mo, $tg+60, $jahr);
?>

Ich zàhle also zum aktuellen Datum 60 Tage, 0 Stunden, 0 Minuten, 0
Sekunden, 0 Monate und 0 Jahre hinzu.
Das scheint aber nicht zu klappen, denn
TS = 28.04.2011, 20:06 Uhr
wird nach der Addition von 60 Tagen zu
ts1 = 28.06.2011, 07:06 Uhr

Es fehlen 13 Stunden. Aus
TS = 29.04.2011, 09:43 Uhr
wird zu
ts1 = 30.06.2011, 03:43 Uhr
Hier hàtte es aber der 29.06.2011, 09:43 Uhr sein müssen. Hier sind also
18 Stunden zuviel berechnet.

Was mache ich hier eigentlich falsch?

Gruß
Heiko


http://spandaunet.de | masterdomino@spandaunet.de
 

Lesen sie die antworten

#1 Stefan+Usenet
27/06/2011 - 09:11 | Warnen spam
On Mon, 27 Jun 2011 08:41:04 Heiko Warnken wrote:
$mi=date("i");
$se=date("s");
$ts1=mktime($se, $mi, $std, $mo, $tg+60, $jahr);
?>

Ich zàhle also zum aktuellen Datum 60 Tage, 0 Stunden, 0 Minuten, 0
Sekunden, 0 Monate und 0 Jahre hinzu.



Offenbar nicht, nein.

Was mache ich hier eigentlich falsch?



Wenn obiges copy/past Deines Codes ist, dann hast Du
<http://www.php.net/manual/en/functi...me.php> nicht genau genug
gelesen.

Servus,
Stefan

http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Stefan: die Macht zu verführen!
(Sloganizer)

Ähnliche fragen