Den sista fungerade inte. Den gav ett negativt tal som gjorde att date-funktionen inte ville fungera.
Men den andra lösningen fungerade utmärkt. Tack!
r Nej, förresten. Efter att ha testat koden med massor av olika fall så har jag sett att den inte fungerar om man är född innan 1969. Då blir åldern alltid 30. Visst är det bra för de som inte vill åldras efter 30 men inte för andra. :)
Misstänker att det kan ha att göra med att Unix utgår från 1970-01-01 i sin sekundräkning. Alla årtal dessförinnan skulle i så fall få sekund 0 som värde.
Jo, fast du kan inte använda funktioner som använder UNIX timestamp eftersom dessa börjar från den första januari 1970.
Bara för att man får negativa "timestamps" för datum före 1970-01-01 så innebär det inte att man inte kan räkna med dem. Spelar ju ingen som helst roll om talet är negativt eller inte då det är differensen som är intressant. :)
Funktionen är testad med årtal före 1970, och jag har inte märkt av några problem.
Windowsversionen av PHP har ju dragits med vissa problem (fråga Swey :) ), så det är möjligt. Installera senaste versionen (4.0.2). Tror många buggar är fixade just när det gäller funktionen i Win32.
Skall man anmäla detta som en bug i Win32-versionen tro?
[redigerat]
En snabb koll tyder på att det är systemberoende. Verkar helt enkelt vara *nix som använder fler bitar för att representera datum. Ingen bug i PHP alltså.
Year may be a two or four digit value, with values between 0-69 mapping to 2000-2069 and 70-99 to 1970-1999 (on systems where time_t is a 32bit signed integer, as most common today, the valid range for year is somewhere between 1902 and 2037).
Hade jag ingen aaaning om. Hur kan ni använda ett så antikt system? ;)
[/redigerat]