note 94286 deleted from function.date-diff by danbrown
| From: | danbrown@php.net | Date: | Sun, 08 Nov 2009 16:19:46 +0000 |
| Subject: | note 94286 deleted from function.date-diff by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-162641@lists.php.net to get a copy of this message | ||
Note Submitter: ron dot wiegman at gmail dot com
----
The same function, but in a more compact version.
(works in reverse order).
<?php
function timeDiff($ts1, $ts2) {
if ($ts1 < $ts2) {
$temp = $ts1;
$ts1 = $ts2;
$ts2 = $temp;
}
$format = 'Y-m-d H:i:s';
$ts1 = date_parse(date($format, $ts1));
$ts2 = date_parse(date($format, $ts2));
$arrBits = explode('|', 'year|month|day|hour|minute|second');
$arrTimes = array(0, 12, date("t", $temp), 24, 60, 60);
foreach ($arrBits as $key => $bit) {
$diff[$bit] = $ts1[$bit] - $ts2[$bit];
if ($diff[$bit] < 0) {
$diff[$arrBits[$key - 1]]--;
$diff[$bit] = $arrTimes[$key] - $ts2[$bit] + $ts1[$bit];
}
}
return $diff;
}
$born_date = mktime(6, 30, 0, 7, 24, 2008);
$date_diff_array = timeDiff($born_date, time());
print_r($date_diff_array);
?>