note 74475 added to function.getdate

From: 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

« previous php.notes (#125350) next »