Veröffentlicht 11. Februar 200421 j Hallo. Ich habe folgendes Problem: Aus einer Datenbank lese ich die Werte für Tag, Monat, Jahr aus...also stehen nun in den Variablen $Monat der Wert 05, in $Tag der Wert 06 und in $Jahr der Wert 66. Soweit ist alles klar, aber bei folgender Zeile: $timestampPerson=mktime(0,0,0, date($Monat), date($Tag), date($Jahr)); erscheint die Fehlermeldung: mktime(): Windows does not support negative values for this function ... Was ist an diesem Befehl verkehrt? Ich weiß echt nicht mehr weiter. Ich möchte mit dem Timestamp das Alter einer Person errechnen, also TimestampHeutigesDatum-TimestampPerson Falls das nicht so geht wie ich oben geschrieben habe, hat jemand vielleicht eine andere Idee wie ich das Alter einer Person errechnen kann? Vielen Dank
11. Februar 200421 j Du hast doch die Zahlenwerte schon, wieso dann noch date(xy) benutzen? http://www.php.net/manual/en/function.mktime.php mktime(0, 0, 0, 13, 1, 1997) mktime(0, 0, 0, $monat, $tag, $jahr) Gruß Jaraz
11. Februar 200421 j Ja gut....aber die Fehlermeldung bleibt die gleiche, auch wenn ich date() weglasse...
11. Februar 200421 j mktime(): Windows does not support negative values for this function ... Was hast du denn für konkrete Zahlen in den Variablen, wenn diese Fehlermeldung erscheint?
11. Februar 200421 j Windows: Negative timestamps are not supported under any known version of Windows. Therefore the range of valid years includes only 1970 through 2038.
11. Februar 200421 j Immer noch die selbe Fehlermeldung...gibts da keinen Trick wie ich das Alter errechnen kann ohne das Update?
11. Februar 200421 j Ne Update funzt auch nicht, habe mich vertan! Du könntest mal die Funktionen in den Kommentaren der Doku ausprobieren: http://www.php.net/manual/en/function.mktime.php Gruß Jaraz
12. Februar 200421 j du müsstest das jahr 4 stellig angeben! btw: bevor du in der datenbank dir 3 getrennte spalten in einer tabelle anlegst (für tag, monat, jahr) könntest du besse mit nem unixtimestamp, bzw mit nem mysql_timestamp arbeiten. das erleichtert das ganze um ein vielfaches. wenn du unix timestamps verwendest, kannst du dir dein datum mit der PHP Funktion date() formatieren. wenn du mysql timestamps verwendest, kannst du dir dein datum direkt im SQL mit formatDate() formatieren! Gruß, kills
12. Februar 200421 j Mit vierstelligem Jahr hats auch nicht geklappt, aber trotzdem Danke...hab durch lauter rumprobieren das ganze hingekriegt ohne Timestamps zu verwenden
13. Februar 200421 j hab durch lauter rumprobieren das ganze hingekriegt ohne Timestamps zu verwenden Wie das? Wenn man eben keine Zeitstempel verwendet führt es meist dazu, dass z.B. Schaltjahre nicht richtig mit eingereichnet werden, was zu ungenauen Ergebnissen führen kann.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.