ugrás a tartalomhoz

Napok számának meghatározása PHP-vel

mdesign · 2008. Már. 10. (H), 21.57
Sziasztok!

Napok számát szeretném megállapítani két dátumból. 2006.06.01 és 2006.11.08 között mennyi nap telt el. Számításaim szerint 160 nap.
PHP szerint 160.041666667.


2006.06.01. 00:00:00
timestamp: 1149112800

2006.11.08. 00:00:00
timestamp: 1162940400

különbség timestamp: 13827600 (13824000-nek kéne lennie // ezt a + 3600-at honnan veszi? )
napok száma php szerint: 160.041666667
napok száma- aminek lennie kellene: 160

Tudtok ebben segíteni?

Üdv Karesz
 
1

nyári időszámítás

randomly · 2008. Már. 10. (H), 22.40
talán.
2

unix idő

solkprog · 2008. Már. 10. (H), 22.46
unix idő helyesen:
2006.06.01. 00:00:00 = 1149120000
2006.11.08. 00:00:00 = 1162944000

És így már kijön: 1162944000-1149120000=13824000
http://www.onlineconversion.com/unix_time.htm
3

js

mdesign · 2008. Már. 10. (H), 23.29
köszi, de itt a JS-el van megoldva, nekem pedig PHP-s megoldás kellene. Eredetileg az mktime is unix timestampet készítene, de vmiért nem pontos.
4

nyári időszámítás

solkprog · 2008. Már. 11. (K), 00.52
"Randomly"-nak igaza van. A nyári időszámítással van a gond. Visszont a mktime függvénynek van egy kapcsolója a nyári időszámításra.
$idopont1=mktime(0,0,0,6,1,2006,1); // 1 a legvégén a nyári időszámítás
$idopont2=mktime(0,0,0,11,8,2006,1); // szintén
print(($idopont2-$idopont1)/24/60/60);
5

dok

mdesign · 2008. Már. 11. (K), 09.36
Nézegettem a dokumentációt, de ennek az argumentumnak a leírását nem igazán értettem elsőre.

Az is_dst paramétert állíthatod 1-re, jelezve, hogy a nyári időszámításban (DST) vagy, 0-ra, hogy nem, vagy -1-re (ez az alapértelmezett), ha nem tudod.


Ha tehát konzisztensen 1-re, vagy 0-ra állítom akkor igazából az én esetemben mindig jól jön ki az eltelt napok száma.

Köszi
6

unixtojd

lacy · 2008. Már. 11. (K), 13.26
egy másik ötlet...

unixtojd — Unix időbélyeget konvertál Julián dátumba
kell hozzá a calendar (naptár) kiterjesztés.
$kulonbseg_napokban = unixtojd($utobbi_datum_timestamp)-unixtojd($elobbi_datum_timestamp);
csak ötlet volt...:)
7

napok

Davs · 2008. Már. 25. (K), 18.57
Hy!
Engem az érdekelne, hogy a 13827600 számból hogyan állapítottad meg, hogy mennyi nap? Vetted, hogy a 13827600 másodpercekben van, elosztottad 60-nal, és újra (így ezek már órák), majd elosztottad 24-gyel? Vagy létezik más, elegánsabb megoldás is?
8

olvass

gex · 2008. Már. 25. (K), 19.31
solkprog írta:

print(($idopont2-$idopont1)/24/60/60);
9

Pear

zila · 2008. Már. 25. (K), 19.36
http://pear.php.net/package/Date/docs/latest/Date/Date.html#methodDate
és
http://pear.php.net/package/Date/docs/latest/Date/Date_Calc.html#methoddateToDays