Date & Time
|
|
|
|
<?php /*
timespan - creates an associative array based on starttime and endtime
-----
DESCRIPTION
bool timespan( [start] , [end] )
-----
EXAMPLE 1
$time['start'] = 0;
$time['end'] = 77384;
$timespan = timespan($time['start'],$time['end']);
print_r($timespan);
-----
RESULT 1
Array
(
[week] => 0
[day] => 0
[hour] => 21
[minute] => 29
[second] => 44
)
-----
EXAMPLE 2
$time['start'] = '2001-10-08 22:19:52';
$time['end'] = '2001-10-24 15:22:13';
$timespan = timespan($time['start'],$time['end']);
print_r($timespan);
-----
RESULT 2
Array
(
[week] => 2
[day] => 1
[hour] => 17
[minute] => 2
[second] => 21
)
*/
function timespan($start,$end)
{
// ERROR CATCHIMOJINGA FOR THIS FUNCTION!
if((!strtotime($start) || !strtotime($end)) && (!is_numeric($start) || !is_numeric($end)))
{
die('Wrong datatype for timespan() on Line: '.__LINE__.' in File: '.__FILE__);
}
if(!is_numeric($start)) $start = strtotime($start);
if(!is_numeric($end)) $end = strtotime($end);
$span = $end-$start;
// WEEK
$return['week'] = 0;
if($span > 604800)
{
$return['week'] = intval(intval($span) / 604800);
$span = intval(intval($span) - ($return['week'] * 604800));
}
// DAY
$return['day'] = 0;
if($span > 86400)
{
$return['day'] = intval(intval($span) / 86400);
$span = intval(intval($span) - ($return['day'] * 86400));
}
// HOUR
$return['hour'] = 0;
if($span > 3600)
{
$return['hour'] = intval(intval($span) / 3600);
$span = intval(intval($span) - ($return['hour'] * 3600));
}
// MINUTE
$return['minute'] = 0;
if($span > 60)
{
$return['minute'] = intval(intval($span) / 60);
$span = intval(intval($span) - ($return['minute'] * 60));
}
// SECOND
$return['second'] = 0;
if($span > 0)
{
$return['second'] = $span;
}
return $return;
} ?>
|
|
|
Usage Example
|
EXAMPLE 1
$time['start'] = 0;
$time['end'] = 77384;
$timespan = timespan($time['start'],$time['end']);
print_r($timespan);
-----
RESULT 1
Array
(
[week] => 0
[day] => 0
[hour] => 21
[minute] => 29
[second] => 44
)
-----
EXAMPLE 2
$time['start'] = '2001-10-08 22:19:52';
$time['end'] = '2001-10-24 15:22:13';
$timespan = timespan($time['start'],$time['end']);
print_r($timespan);
-----
RESULT 2
Array
(
[week] => 2
[day] => 1
[hour] => 17
[minute] => 2
[second] => 21
)
|
|
|
Rate This Script
|
|
|
|