timestamp
Posted: Mon Jun 16, 2008 2:56 am
~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:
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.
~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:
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: