note 74475 added to function.getdate
| From: | NickReale at osu1 dot php dot net | Date: | Fri, 13 Apr 2007 03:15:23 +0000 |
| Subject: | note 74475 added to function.getdate | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-125350@lists.php.net to get a copy of this message | ||
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>";
?>
----
Server IP: 69.147.83.197
Probable Submitter: 71.43.139.239
----
Manual Page -- http://www.php.net/manual/en/function.getdate.php
Edit -- https://master.php.net/note/edit/74475
Del: integrated -- https://master.php.net/note/delete/74475/integrated
Del: useless -- https://master.php.net/note/delete/74475/useless
Del: bad code -- https://master.php.net/note/delete/74475/bad+code
Del: spam -- https://master.php.net/note/delete/74475/spam
Del: non-english -- https://master.php.net/note/delete/74475/non-english
Del: in docs -- https://master.php.net/note/delete/74475/in+docs
Del: other reasons-- https://master.php.net/note/delete/74475
Reject -- https://master.php.net/note/reject/74475
Search -- https://master.php.net/manage/user-notes.php