note 102601 added to function.date-diff
[email protected] Wed, 23 Feb 2011 16:22:34 -0800
| Newsgroups | php.notes |
|---|---|
| Message-ID | <[email protected]> |
Based in part on previous try, which didn't work for me :( -- http://us3.php.net/manual/en/function.date-diff.php#101771
function dateDiff($timestamp1, $timestamp2, $format = false){
$date1 = getdate($timestamp1);
$diff = getdate($timestamp2);
//find the differences between the two
foreach($diff as $aspect => &$value){
$value -= $date1[$aspect];
}
//now adjust for negative numbers
if( $diff['seconds'] < 0 ){
$diff['seconds'] += 60;
$diff['minutes']--;
}
//now adjust for negative numbers
if( $diff['minutes'] < 0 ){
$diff['minutes'] += 60;
$diff['hours']--;
}
//now adjust for negative numbers
if( $diff['hours'] < 0 ){
$diff['hours'] += 24;
$diff['mday']--;
}
//now adjust for negative numbers; special for days!
if( $diff['mday'] < 0 ){
$diff['mday'] += cal_days_in_month(CAL_GREGORIAN, $date1['mon'], $date1['year']);
$diff['mon']--;
}
//now adjust for negative numbers
if( $diff['mon'] < 0 ){
$diff['mon'] += 12;
$diff['year']--;
}
//now adjust for negative numbers
if( $diff['year'] < 0 ){
return 'WTF?';
}
//return formatted, or just the diff
if($format){
return str_replace(
array(
'%y'
,'%m'
,'%d'
,'%H'
,'%M'
,'%S'
)
,array(
$diff['years']
, $diff['mon']
, $diff['mday']
, $diff['hours']
, $diff['minutes']
, $diff['seconds']
)
, $format
);
}
return $diff;
}
----
Server IP: 192.41.42.26
Probable Submitter: 71.22.18.147
----
Manual Page -- http://www.php.net/manual/en/function.date-diff.php
Edit -- https://master.php.net/note/edit/102601
Del: integrated -- https://master.php.net/note/delete/102601/integrated
Del: useless -- https://master.php.net/note/delete/102601/useless
Del: bad code -- https://master.php.net/note/delete/102601/bad+code
Del: spam -- https://master.php.net/note/delete/102601/spam
Del: non-english -- https://master.php.net/note/delete/102601/non-english
Del: in docs -- https://master.php.net/note/delete/102601/in+docs
Del: other reasons-- https://master.php.net/note/delete/102601
Reject -- https://master.php.net/note/reject/102601
Search -- https://master.php.net/manage/user-notes.php