note 79249 deleted from function.date by derick
| From: | derick@php.net | Date: | Sun, 09 Dec 2007 13:37:35 +0000 |
| Subject: | note 79249 deleted from function.date by derick | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-132998@lists.php.net to get a copy of this message | ||
Note Submitter: warren dot gutierrez at gmail dot com
----
If you want to get date range by this week, last week, this month, last month. This might help you.
Thanks.
<?php
function getWeekRange(&$start_date, &$end_date, $offset=0) {
$start_date = '';
$end_date = '';
$week = date('W');
$week = $week - $offset;
$date = date('Y-m-d');
$i = 0;
while(date('W', strtotime("-$i day")) >= $week) {
$start_date = date('Y-m-d', strtotime("-$i day"));
$i++;
}
list($yr, $mo, $da) = explode('-', $start_date);
$end_date = date('Y-m-d', mktime(0, 0, 0, $mo, $da + 6, $yr));
}
function getMonthRange(&$start_date, &$end_date, $offset=0) {
$start_date = '';
$end_date = '';
$date = date('Y-m-d');
list($yr, $mo, $da) = explode('-', $date);
$start_date = date('Y-m-d', mktime(0, 0, 0, $mo - $offset, 1, $yr));
$i = 2;
list($yr, $mo, $da) = explode('-', $start_date);
while(date('d', mktime(0, 0, 0, $mo, $i, $yr)) > 1) {
$end_date = date('Y-m-d', mktime(0, 0, 0, $mo, $i, $yr));
$i++;
}
}
getWeekRange($start, $end);
echo "$start $end";
getMonthRange($start, $end);
echo "$start $end";
?>