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’) ;


