php实现的DateDiff和DateAdd时间函数代码分享

时间:2021-05-26

扩展php中的时间函数DateDiff和DateAdd

function DateDiff($part, $begin, $end){$diff = strtotime($end) - strtotime($begin);switch($part){case "y": $retval = bcdiv($diff, (60 * 60 * 24 * 365)); break;case "m": $retval = bcdiv($diff, (60 * 60 * 24 * 30)); break;case "w": $retval = bcdiv($diff, (60 * 60 * 24 * 7)); break;case "d": $retval = bcdiv($diff, (60 * 60 * 24)); break;case "h": $retval = bcdiv($diff, (60 * 60)); break;case "n": $retval = bcdiv($diff, 60); break;case "s": $retval = $diff; break;}return $retval;}function DateAdd($part, $number, $date){$date_array = getdate(strtotime($date));$hor = $date_array["hours"];$min = $date_array["minutes"];$sec = $date_array["seconds"];$mon = $date_array["mon"];$day = $date_array["mday"];$yar = $date_array["year"];switch($part){case "y": $yar += $number; break;case "q": $mon += ($number * 3); break;case "m": $mon += $number; break;case "w": $day += ($number * 7); break;case "d": $day += $number; break;case "h": $hor += $number; break;case "n": $min += $number; break;case "s": $sec += $number; break;}return date("Y-m-d H:i:s", mktime($hor, $min, $sec, $mon, $day, $yar));}Function DateAdd($part, $n, $date){switch($part){case "y": $val = date("Y-m-d H:i:s", strtotime($date ." +$n year")); break;case "m": $val = date("Y-m-d H:i:s", strtotime($date ." +$n month")); break;case "w": $val = date("Y-m-d H:i:s", strtotime($date ." +$n week")); break;case "d": $val = date("Y-m-d H:i:s", strtotime($date ." +$n day")); break;case "h": $val = date("Y-m-d H:i:s", strtotime($date ." +$n hour")); break;case "n": $val = date("Y-m-d H:i:s", strtotime($date ." +$n minute")); break;case "s": $val = date("Y-m-d H:i:s", strtotime($date ." +$n second")); break;}return $val;}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章