note 56200 deleted from ref.datetime by nlopess

From: Date: Wed, 07 Sep 2005 20:13:26 +0000
Subject: note 56200 deleted from ref.datetime by nlopess
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-94875@lists.php.net to get a copy of this message
Note Submitter: amit_sandilya at hotmail dot com ---- To get count of week, weeks, day for particular week,date range,incremented date range, week's from date and week's to date. function date_compare($date1,$date2) { $time1=strtotime($date1); $time2=strtotime($date2); $day_count=0; if($time2>$time1) { $time3=$time1; for($i=$time3;$i<$time2;) { list($fy,$fm,$fd) = explode("-",$date1); $date1= date("Y-m-d",mktime(0,0,0,$fm,$fd+1,$fy)); $time3=strtotime($date1); if($time3==$time2) { $i=$time2; } $i=$time3; $day_count++; } $val=1; } if($time1>$time2) { $time3=$time2; for($i=$time3;$i<$time1;) { list($fy,$fm,$fd) = explode("-",$date2); $date2= date("Y-m-d",mktime(0,0,0,$fm,$fd+1,$fy)); $time3=strtotime($date2); if($time3==$time1) { $i=$time1; } $i=$time3; $day_count++; } $val=-1; } elseif($time1==$time2) { $val=0; } return array($val,$day_count); } function get_week($date1,$date2,$end_date='') { $from_date=array(); $to_date=array(); $range=array(); $range1=array(); $day=array(); if($end_date<0){$end_date=6;} if($end_date=="") { list($fm1,$fd1,$fy1) = explode("-",$date2); $end_date= date("w",mktime(0,0,0,$fm1,$fd1,$fy1)); } list($fm,$fd,$fy) = explode("-",$date1); list($fm1,$fd1,$fy1) = explode("-",$date2); $dat= date("w",mktime(0,0,0,$fm,$fd,$fy)); $dat_start=$dat; $fdate1= date("Y-m-d",mktime(0,0,0,$fm,$fd,$fy)); $fdate2= date("Y-m-d",mktime(0,0,0,$fm1,$fd1,$fy1)); $fdate2_inc= date("Y-m-d",mktime(0,0,0,$fm1,$fd1+1,$fy1)); $check=date_compare($fdate2,$fdate1); $from_date[]=$fdate1; $deterange="'".$fdate1."' and "; $week=0; while($check[0]<0) { $i=0; while($dat_start!=$end_date) { $day[$week][]= date("D",mktime(0,0,0,$fm,$fd+$i,$fy)); $dat_start= date("w",mktime(0,0,0,$fm,$fd+$i,$fy)); $i++; } if($week==0 && $dat==$end_date) $day[$week][]= date("D",mktime(0,0,0,$fm,$fd+$i,$fy)); if($i>0)$i--; $inc=$i+1; $tdate= date("Y-m-d",mktime(0,0,0,$fm,$fd+$i,$fy)); $tdate_inc= date("Y-m-d",mktime(0,0,0,$fm,$fd+$i+1,$fy)); $fdate1= date("Y-m-d",mktime(0,0,0,$fm,$fd+$inc,$fy)); $check=date_compare($fdate2,$fdate1); if($check[0]!=1) { $from_date[]=$fdate1; $to_date[]=$tdate; $range[]=$deterange."'".$tdate."'"; $range1[]=$deterange."'".$tdate_inc."'"; $deterange="'".$fdate1."' and "; } list($fy,$fm,$fd) = explode("-",$fdate1); $dat_start=$end_date+1; $week++; } $to_date[]=$fdate2; $range[]=$deterange."'".$fdate2."'"; $range1[]=$deterange."'".$fdate2_inc."'"; $deterange=$deterange.",".$fdate2; $count=count($to_date); return array($from_date,$to_date,$count,$range,$range1,$day); } $date1="08-01-2005"; $date2="08-31-2005"; $end_date=2; $data=get_week($date1,$date2,$end_date); print_r($data[0]); echo "<br>"; print_r($data[1]); echo "<br>"; print_r($data[2]); echo "<br>"; print_r($data[3]); echo "<br>"; print_r($data[4]); echo "<br>"; print_r($data[5]);

« previous php.notes (#94875) next »