timestamp

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
sandy1028
Forum Commoner
Posts: 60
Joined: Thu Jul 26, 2007 3:56 am

timestamp

Post by sandy1028 »

~pickle | Please use [ code=html ], [ code=php ], etc tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read: :arrow: Posting Code in the Forums to learn how to do it too.


In the code below,

array contains status and timestamp.
If status is all zero then the difference of time is calculated. and if status changes from 0 to 1 again timestamp is calculated.


Now here in the array after timestamp 2008-06-13 00:50:00 to end of the array if status is 0 then timestamp is not calculated.

Please tell me how to change in the code below.



Code: Select all

 
<?php
$values=array(
   "0#2008-06-13 00:10:00",
   "0#2008-06-13 00:20:00",
   "0#2008-06-13 00:30:00",
   "1#2008-06-13 00:40:00",
   "0#2008-06-13 00:50:00",
   "0#2008-06-13 01:10:00"
   );
 
$i=0;
$outset = array();
$status = array();
$aset   = 0;
 
foreach($values as $v) //For each element in the values array
  {
  // Split the value by hash
  $vals = explode('#', $v);
  // If this is the first loop, set the previous status
  if($i == 0) {$previous_value = $vals[0]; $i=1; $starttime = $vals[1];}
 
  // If the previous =0 and the current is 1, store the values in a new array for output
  if($previous_value == 0 && $vals[0] == 1)
    {
    $aset             = 1;
    $tdiff             = strtotime($vals[1]) - strtotime($starttime);
    $outset[]          = $starttime.' '.$vals[1].' '.$tdiff;
    }
 
  if($vals[0] == 0 && $previous_value == 1)
    {
    $starttime         = $vals[1];
    }
 
  // Store the current, for the next loop it is previous value
  $previous_value     = $vals[0];
  $lasttime           = $vals[1];
  }
 
if($aset == 0)
  {
    $tdiff             = strtotime($vals[1])-strtotime($starttime);
    $outset[]          = $starttime.' '.$lasttime.' '.$tdiff;
  }
 
echo"<pre>";
print_r($outset);
echo"</pre>";
?>
 

~pickle | Please use [ code=html ], [ code=php ], etc tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read: :arrow: Posting Code in the Forums to learn how to do it too.
Post Reply