Autor | Zpráva | ||
---|---|---|---|
AM_ Profil |
#1 · Zasláno: 17. 3. 2009, 18:35:45
Zdravím,
chtěl bych se zeptat, jestli je dostatečně přesné, když chci nalézt datum/čas v určitém intervalu od daného data (myslím např. o 3 hodiny dříve, o 2 dny později), používat funkci mktime, např. mktime(0, 0, 0, date("m")-2, date("d"), date("Y")); Možná je to hloupý dotaz, v PHP manuálu píší, že to takto "je možné použít", ale píši momentálně aplikaci, kde na přesnosti opravdu záleží, a tak bych se chtěl přesvědčit, že se to takhle opravdu dělá. |
||
Majkl578 Profil |
#2 · Zasláno: 17. 3. 2009, 19:15:50
co treba
$pred3hod = time() - 60*60*3; $za2dny = time() - 60*60*24*2; |
||
ninja Profil |
#3 · Zasláno: 17. 3. 2009, 19:37:08
Urcite bych pouzil funkci strtotime(). Pri praci s timestamp je problem u zimniho/letniho casu, kdy ne vsechny dny 86400 sekund.
|
||
AM_ Profil |
#4 · Zasláno: 17. 3. 2009, 20:22:56
Majkl578:
Tohle je přesně to, co se hodně nabízí, ale je to dost nepřesné, nejen kvůli letnímu času. Problém jsou: - různé délky měsíců - přestupné roky - různé délky dnů! nevím, jestli je unixový timestamp a vůbec čas v počítači zohledňuje, ale cca 1-2x do roka je den o sekundu kratší - zmíněný letní čas ninja v čem by mi více pomohl strtotime oproti mktime? vstup mktime je mnohem uhlazenější - 6 čísel se má předávat jako 6 čísel, ne jako řetězec, strtotime je spíše vhodná pro parsování např. uživatelského vstupu data, který nemusí mít stálý formát. Otázka zněla, jestli je přičítání/odčítání data přes mktime dostatečně přesné. |
||
Časová prodleva: 15 let
|
0