Aflarea saptamanii din care face parte o data

Astazi m-am luptat ceva timp cu o problema de care cred ca s-au mai lovit si altii. Am o data calendaristica si vreau sa afisez din ce saptamana face parte. De exemplu, 14 aprilie 2010 (14-04-2010) face parte din saptamana 12-04-2010 – 14-04-2010.

Asadar, pentru exemplul nostru: 14-04-2010

$day = '14';
$month = '04';
$year = '2010';

Pentru aceasta trebuie sa aflam a cata zi din saptamana este:

$unixdate = mktime( 12, 0, 0, $month, $day, $year );
$dayofweek = date("w", $unixdate);

Pentru a afla ziua de luni dinainte de aceasta data:
$monday = date(‘Y-m-d’, mktime(0, 0, 0, date(‘m’, $unixdate), date(‘d’, $unixdate) – ($dayofweek – 1), date(‘Y’, $unixdate)));

Pentru a afla ziua de duminica dupa aceasta data:
$sunday = date(‘Y-m-d’, mktime(0, 0, 0, date(‘m’, $unixdate), date(‘d’, $unixdate) + (7 – $dayofweek), date(‘Y’, $unixdate)));

In final:

echo 'Data face parte din saptamana '.$monday.' - '.$sunday;

Bineinteles exemplul poate fi folosit pentru a afla orice data daca adaugam sau scadem un numar orecare de zile la o data stiuta. Nu trebuie decat inlocuita partea bolduita cu numarul de zile pe care dorim sa le adaugam sau scadem.

Facebook Comments

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.