note 74475 deleted from function.getdate by danbrown
| From: | danbrown@php.net | Date: | Sun, 20 Jul 2008 03:05:38 +0000 |
| Subject: | note 74475 deleted from function.getdate by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-142021@lists.php.net to get a copy of this message | ||
Note Submitter: Nick Reale
----
Anyone Interested in Generating dates for week, last week, month, last month, quarter, last quarter,
YTD, Last YTD, Last Year can use this simple code.
It defaults to the date format YYYY-MM-DD but you can adjust it in the script.
<?
$t=getdate();
$today=date('Y-m-d',$t[0]);
//This Week//
$start=$t[0]-(86400*$t[wday]);
$twstart=date('Y-m-d',$start);
//Last Week//
$lwstart=$start-604800;
$lwend=$lwstart+518400;
$lwstart=date('Y-m-d',$lwstart);
$lwend=date('Y-m-d',$lwend);
//This Month//
$tmstart="$t[year]-$t[mon]-01";
//Last Month//
if($t[mon]=="1"){
$lmstart="2007-12-01";
}
else {
$lmstart="$t[year]-".($t[mon]-1)."-01";
}
$lmmonth=($t[mon]-1);
if($lmmonth=="4" OR $lmmonth=="5" OR $lmmonth=="9" OR
$lmmonth=="11"){
$lmend="$t[year]-$lmmonth-30";
}
elseif($t[mon]=="2"){
$lmend="$t[year]-$lmmonth-28";
}
else {
$lmend="$t[year]-$lmmonth-31";
}
//This Quarter//
if($t[mon]=="1" OR $t[mon]=="2" OR $t[mon]=="3"){
$tqstart="$t[year]-01-01";
$tqend="$t[year]-03-31";
}
elseif($t[mon]=="4" OR $t[mon]=="5" OR $t[mon]=="6"){
$tqstart="$t[year]-04-01";
$tqend="$t[year]-06-30";
}
elseif($t[mon]=="7" OR $t[mon]=="8" OR $t[mon]=="9"){
$tqstart="$t[year]-07-01";
$tqend="$t[year]-09-30";
}
else {
$tqstart="$t[year]-10-01";
$tqend="$t[year]-12-31";
}
//Last Quarter//
if($t[mon]=="1" OR $t[mon]=="2" OR $t[mon]=="3"){
$lwstart=($t[year]-1)."-10-01";
$lwend=($t[year]-1)."-12-31";
}
elseif($t[mon]=="4" OR $t[mon]=="5" OR $t[mon]=="6") {
$lqstart="$t[year]-01-01";
$lqend="$t[year]-03-31";
}
elseif($t[mon]=="7" OR $t[mon]=="8" OR $t[mon]=="9"){
$lqstart="$t[year]-04-01";
$lqend="$t[year]-06-30";
}
else {
$lqstart="$t[year]-07-01";
$lqend="$t[year]-09-30";
}
//Year To Date//
$ystart="$t[year]-01-01";
//Last Year To Same Date//
$lystart=($t[year]-1)."-01-01";
$lytend=($t[0]-31536000);
$lytend=date('Y-m-d',$lytend);
//Last Year//
$lyend=($t[year]-1)."-12-31";
echo "This Week<br>Start $twstart<br>Finish $today<br><br>";
echo "Last Week<br>Start $lwstart<br>Finish $lwend<br><br>";
echo "This Month<br>Start $tmstart<br>Finish $today<br><br>";
echo "Last Month<br>Start $lmstart<br>Finish $lmend<br><br>";
echo "This Quarter<br>Start $tqstart<br>Finish $today<br><br>";
echo "Last Quarter<br>Start $lqstart<br>Finish $lqend<br><br>";
echo "Year To Date<br>Start $ystart<br>Finish $today<br><br>";
echo "Last Year To Date<br>Start $lystart<br>Finish
$lytend<br><br>";
echo "Last Year<br>Start $lystart<br>Finish $lyend<br><br>";
?>