收集了几款常用php日期操作

这里的日期操作函数有时间的增加,计算出给出的日期是星期几,检查日期是否合法日期 时间比较函数,返回两个日期相差几秒、几分钟、几小时或几天.

  1. <?php
  2. function dateadd($date, $int, $unit = "d") {
  3. //时间的增加(还可以改进成时分秒都可以增加,有时间再补上)
  4. $datearr = explode("-", $date);
  5. $value[$unit] = $int;
  6. //
  7. return date("y-m-d", mktime(0,0,0, $datearr[1] + $value['m'], $datearr[2] + $value['d'], $datearr[0] + $value['y']));
  8. //phpfensi.com
  9. }
  10. function getweekday($date) { //计算出给出的日期是星期几
  11. $datearr = explode("-", $date);
  12. return date("w", mktime(0,0,0,$datearr[1],$datearr[2],$datearr[0]));
  13. //
  14. }
  15. ?>
  16. <?
  17. function check_date($date) { //检查日期是否合法日期
  18. $datearr = explode("-", $date);
  19. if (is_numeric($datearr[0]) && is_numeric($datearr[1]) && is_numeric($datearr[2])) { //phpfensi.com
  20. return checkdate($datearr[1],$datearr[2],$datearr[0]);
  21. }
  22. return false;
  23. }
  24. function check_time($time) { //检查时间是否合法时间
  25. //phpfensi.com
  26. $timearr = explode(":", $time);
  27. if (is_numeric($timearr[0]) && is_numeric($timearr[1]) && is_numeric($timearr[2])) {
  28. //
  29. if (($timearr[0] >= 0 && $timearr[0] <= 23) && ($timearr[1] >= 0 && $timearr[1] <= 59) && ($timearr[2] >= 0 && $timearr[2] <= 59))
  30. //php
  31. return true;
  32. else
  33. return false;
  34. }
  35. return false;
  36. }
  37. function datediff($date1, $date2, $unit = "") {
  38. //时间比较函数,返回两个日期相差几秒、几分钟、几小时或几天
  39. //
  40. switch ($unit) {
  41. case 's':
  42. $dividend = 1;
  43. break;
  44. case 'i':
  45. $dividend = 60;
  46. break;
  47. case 'h':
  48. $dividend = 3600;
  49. break;
  50. case 'd':
  51. $dividend = 86400;
  52. break; //
  53. default:
  54. $dividend = 86400;
  55. }
  56. $time1 = strtotime($date1);
  57. $time2 = strtotime($date2);
  58. if ($time1 && $time2) //
  59. return (float)($time1 - $time2) / $dividend;
  60. return false;
  61. }
  62. ?>