note 73274 deleted from function.date by felipe
| From: | felipe@php.net | Date: | Sat, 05 Jan 2008 01:56:56 +0000 |
| Subject: | note 73274 deleted from function.date by felipe | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-134800@lists.php.net to get a copy of this message | ||
Note Submitter: wips at mail dot ru
----
/**
* Defines week limits.
* Week numbers in [1..54]. First week is from 1st of Jan till first Sunday in year, last
week is from last monday
* in year till 31st of Dec.
*
* @param int $weekNumber - Week number
* @param int $year - Year
* @return array - array($start_time, $end_time). $start_time - begin of week,
$end_time - end of week in Unix timestamp.
* Precition is +-24 hours.
*/
function week_limits($weekNumber, $year)
{
// begin datetime
$time = mktime(1, 1, 1, 1, 1, $year);
// Aassuring that $weekNumber is number
$weekNumber--;
// If first week of year starts not from monday, date() will return "not
correct" result (in this case first week is 0)
if (date('w', $time) == 1)
$weekNumber++;
$start_time = false;
$end_time = false;
for ($day = 1; $day <= 380; $day++)
{
if (date('W', $time) == $weekNumber && !$start_time)
$start_time = $time;
if (date('W', $time - 24*60*60) == $weekNumber && !$end_time
&& date('W', $time) != $weekNumber)
$end_time = $time - 24*60*60;
if ($start_time && $end_time)
break;
$time += 24*60*60;
}
return array($start_time, $end_time);
}//week_limits()