我已經制定了一個函數來計算兩個日期時間之間的年齡,但我在月份和年份有問題,因爲月份可能是29,30,或31天。關於日期 - 時間差異的月份和年份
我很困惑,這是否會導致任何問題?如果是,那麼有人可能會提出解決方案。
這裏是我的功能
function time_age($date_time1,$date_time2 = ''){
//store current date-time if it hasn't been given
if (empty($date_time2)){
$date_time2 = date('Y-m-d H:i:s');
}
//get date-time difference in seconds
$time_age = strtotime($date_time2) - strtotime($date_time1);
//to store if seconds, minutes, hours, days, weeks, months, years
$time_age_type = 'seconds';
if ($time_age >= 60 and $time_age < 3600){
$time_age_type = 'minutes';
$time_age = number_format($time_age/60, 0);
}elseif ($time_age >= 3600 and $time_age < 86400){
$time_age_type = 'hours';
$time_age = number_format($time_age/3600, 0);
}elseif ($time_age >= 86400 and $time_age < 604800){
$time_age_type = 'days';
$time_age = number_format($time_age/86400, 0);
}elseif ($time_age >= 604800 and $time_age < 2629743){
$time_age_type = 'weeks';
$time_age = number_format($time_age/604800, 0);
}elseif ($time_age >= 2629743 and $time_age < 31556926){
$time_age_type = 'months';
$time_age = number_format($time_age/2629743, 0);
}elseif ($time_age >= 31556926){
$time_age_type = 'years';
$time_age = number_format($time_age/31556926, 0);
}
return $time_age.' '.$time_age_type.' ago';
}