Autor Zpráva
oleg
Profil *
Dobry den,

dnes jsem objevil peknou fci ktera vraci unixovy cas. Pekne je na ni to, ze si muzete zobrazit urcite datum bez slozitych vypoctu.

Muzete treba zadat jaky unixovy cas bude za 5 dni, 3 hodiny, 2 vteriny a tak.

Nicmene po blizsim zkoumani jsem si vsiml ze nejak spatne vraci cas hodin.

echo date("d.m.Y H:i:s", strtotime("+3 day"));

mi vypise 20.07.2006 00:00:0017 ( psano v dnes v 10:49 )

Je proto nejake logicke vysvetleni?

Diky
oleg
Profil *
Aha tak uz vim asi proc. Dela to jen PHP 5tce. Coz je teda skoda :[
DJ Miky
Profil
In PHP 5 up to 5.0.2, "now" and other relative times (= tzn. i "+3 day") are wrongly computed from today's midnight. It differs from other versions where it is correctly computed from current time.

... stačí se kouknout do manuálu
oleg
Profil *
No jasne jsem si nevsiml, coz je tedy skoda, budu ve skriptech pouzivat tuto fci, casem prejdu na PHP 5 a zjistim ze mi nic nefunguje. Lehce nedomyslene a neopravene
anode
Profil
Jaktože neopravené? V dokumentaci je jasně uvedeno, že to fungovalo špatně jen do verze 5.0.2. A co jsem teď zkoušel 5.1.1 a 5.0.5 tak funguje dle očekávání.
DJ Miky
Profil
Na mém 5.1.4 také v pohodě.
Od verze 5.0.3 je to již opravené, stačí se kouknout do changelogu:

15 Dec 2004, PHP 5.0.3
- Fixed bug #29557 (strtotime error). (Derick)
- Fixed bug #28209 (strtotime("now")). (Derick)
Toto téma je uzamčeno. Odpověď nelze zaslat.