Hányadik hét van?2008. január 4. 18.52

Kategóriák: Cikkek, PHP, Tippek, trükkök

Az adott hét lekérése nem is olyan egyszerű dolog mint ahogyan azt az ember gondolná. Szerencsére a PHP manual (RTFM) olvasgatása hasznos tud lenni :)

Hogy ne legyen olyan rövid ez a post egy kis eszmefutattás:

Ez eléggé logikus megoldás lenne: echo strftime(’%Y/%W’);
De nem jó, mert így 2008.01.04. szerinte 2008. 0. hete, 2007.12.31 pedig 2007. 53. hete

Gyors manual olvasás után kiderült, hogy a PHP három féle képpen képes meghatározni, hogy az adott nap az év hányadik hete:
%U – A hét vasárnappal kezdődik, vagyis az 1. hét január első vasárnapján kezdődik. Az első hét előtti napokat 0. hétnek jelzi!!!
%V – Az az első hét, amelynek legalább 4 napja van az újévben.
%W – Az év első hétfőjén kezdődik az 1. hét

Gyors google után kiderült, hogy a %V formátuma a legelfogadottab.

Következő logikusnak tűnő megoldás: echo strftime(’%Y/%V’);
Ezzel az a hiba, hogy 2007.12.31. szerinte 2007/1, de 2008.01.04. már 2008/1. Szóval már alakulgatunk :)

Újabb PHP manual után megtudtam hogy az év meghatározására is van külön jelölő: %G és %g
%G – 4 jegyű
%g – 2 jegyű

Tehát ha kiszeretnénk írni, hogy melyik év hányadik hetében járunk, akkor azt így tehetjük meg:
echo strftime(’%G/%V’) ;

1 Csillag2 Csillag3 Csillag4 Csillag5 Csillag6 Csillag7 Csillag8 Csillag9 Csillag10 Csillag (18 szavazat, átlag: 7.56)
Loading ... Loading ...

Szólj hozzá!