note 77521 deleted from ref.calendar by nlopess

From: Date: Wed, 05 Sep 2007 10:57:40 +0000
Subject: note 77521 deleted from ref.calendar by nlopess
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-130204@lists.php.net to get a copy of this message
Note Submitter: simon at chronolabs dot org dot au ---- Dear PHPers, I appologise for posting this again, there was just an error in the code so I have posted it again, <?php function RounCalendar($unix_time, $poffset = '2008-05-11 10:05 AM', $pweight = '-20.22222222223', $defiency='deficient', $hoursrounding = array( 'hours'=>24, 'minutes'=>60, 'seconds'=>60)) // Code Segment 1 $tme = $unix_time; if ($gmt>0){ $gmt=-$gmt; } else { $gmt=$gmt+$gmt+$gmt; } $ptime = strtotime($poffset)+(60*60*gmt); $weight = $pweight+(1*gmt); $roun_xa = ($tme)/(24*60*60); $roun_ya = $ptime/(24*60*60); $roun = (($roun_xa -$roun_ya) - $weight)+(microtime/999999); // Code Segment 2 $nonedeficient = array( "seq1" => array(31,30,31,30,30,30,31,30,31,30,31,30), "seq2" => array(31,30,31,30,31,30,31,30,31,30,31,30), "seq3" => array(31,30,31,30,30,30,31,30,31,30,31,30), "seq4" => array(31,30,31,30,30,30,31,30,31,30,31,30)); $deficient = array( "seq1" => array(31,30,31,30,30,30,31,30,31,30,31,30), "seq2" => array(31,30,31,30,31,30,31,30,31,30,31,30), "seq3" => array(31,30,31,30,31,30,31,30,30,30,31,30), "seq4" => array(30,30,31,30,31,30,31,30,31,30,31,30)); $monthusage = isset($defiency) ? ${$defiency} : $deficient; // Code Segment 3 foreach($monthusage as $key => $item){ $i++; foreach($item as $numdays){ $ttl_num=$ttl_num+$numdays; $ttl_num_months++; } } $revolutionsperyear = $ttl_num / $i; $numyears = round((floor($roun) / $revolutionsperyear),0); $avg_num_month = floor($ttl_num_months/$i); $jtl = abs(abs($roun) - ceil($revolutionsperyear*($numyears+1))); while($month==0){ $day=0; foreach($monthusage as $key => $item){ $t++; $u=0; foreach($item as $numdays){ if ($ii<abs($roun)){ $isbelow=true; } $ii=$ii+$numdays; if ($ii>abs($roun)){ $isabove=true; } if ($isbelow==true&&$isabove==true){ $daynum = floor(($ii-$numday)-abs($roun)); $daynum++; $month = $u; $month++; if ($roun<0){ $month=ceil($avg_num_month-$month); $daynum=ceil($numdays-$daynum); } $isbelow=false; $isabove=false; $nodaycount=true; } if ($nodaycount==false) $day++; $u++; } } } $timer = substr($roun, strpos($roun,'.')+1, strlen($roun)-strpos($roun,'.')-1); $roun_out= $numyears.'/'.$month.'/'.$daynum.' '. $day.'.'.substr($timer,0,2).':'.substr($timer,2,2).':' .substr($timer,4,2).'.'.substr($timer,6,strlen($timer)-6); $return array('year'=>$numyears, 'month'=>$month, 'day'=>$day, 'hours'=>(intval(substr($timer,0,2))/100 *$hoursrounding['hours']), 'minute'=>(intval(substr($timer,2,2))/100 *$hoursrounding['minutes']), 'seconds'=>(intval(substr($timer,4,2))/100 *$hoursrounding['seconds']), 'microtime'=>substr($timer,6,strlen($timer)-6), 'strout'=>$roun_out) } ?>

« previous php.notes (#130204) next »