当前位置:首页 > PHP教程 > php日期 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-03-31 11:00:19 浏览: 评论:0 

这篇文章主要介绍了php实现的DateDiff和DateAdd时间函数代码分享,DateDiff用来计算两个时间的间隔,DateAdd用来对两个时间进行相加,需要的朋友可以参考下

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

  1. function DateDiff($part$begin$end
  2. $diff = strtotime($end) - strtotime($begin); 
  3. switch($part
  4. case "y"$retval = bcdiv($diff, (60 * 60 * 24 * 365)); break
  5. case "m"$retval = bcdiv($diff, (60 * 60 * 24 * 30)); break
  6. case "w"$retval = bcdiv($diff, (60 * 60 * 24 * 7)); break
  7. case "d"$retval = bcdiv($diff, (60 * 60 * 24)); break
  8. case "h"$retval = bcdiv($diff, (60 * 60)); break
  9. case "n"$retval = bcdiv($diff, 60); break
  10. case "s"$retval = $diffbreak
  11. return $retval
  12.  
  13. function DateAdd($part$number$date
  14. $date_array = getdate(strtotime($date)); 
  15. $hor = $date_array["hours"]; 
  16. $min = $date_array["minutes"]; 
  17. $sec = $date_array["seconds"]; 
  18. $mon = $date_array["mon"]; 
  19. $day = $date_array["mday"]; 
  20. $yar = $date_array["year"]; 
  21. switch($part
  22. case "y"$yar += $numberbreak
  23. case "q"$mon += ($number * 3); break
  24. case "m"$mon += $numberbreak
  25. case "w"$day += ($number * 7); break
  26. case "d"$day += $numberbreak
  27. case "h"$hor += $numberbreak
  28. case "n"$min += $numberbreak
  29. case "s"$sec += $numberbreak
  30. return date("Y-m-d H:i:s"mktime($hor$min$sec$mon$day$yar)); 
  31.  
  32. Function DateAdd($part$n$date
  33. switch($part
  34. case "y"$val = date("Y-m-d H:i:s"strtotime($date ." +$n year")); break
  35. case "m"$val = date("Y-m-d H:i:s"strtotime($date ." +$n month")); break
  36. case "w"$val = date("Y-m-d H:i:s"strtotime($date ." +$n week")); break
  37. case "d"$val = date("Y-m-d H:i:s"strtotime($date ." +$n day")); break
  38. case "h"$val = date("Y-m-d H:i:s"strtotime($date ." +$n hour")); break
  39. case "n"$val = date("Y-m-d H:i:s"strtotime($date ." +$n minute")); break
  40. case "s"$val = date("Y-m-d H:i:s"strtotime($date ." +$n second")); break
  41. return $val

Tags: DateDiff DateAdd

分享到: