php常用函数UminiCMF

php 计算两个日期之差

2018-06-08  本文已影响81人  焚_44b3

主要用于倒计时等

function DiffDate($date1, $date2) {
  if (strtotime($date1) > strtotime($date2)) {
    $ymd = $date2;
    $date2 = $date1;
    $date1 = $ymd;
  }
  list($y1, $m1, $d1) = explode('-', $date1);
  list($y2, $m2, $d2) = explode('-', $date2);
  $y = $m = $d = $_m = 0;
  $math = ($y2 - $y1) * 12 + $m2 - $m1;
  $y = round($math / 12);
  $m = intval($math % 12);
  $d = (mktime(0, 0, 0, $m2, $d2, $y2) - mktime(0, 0, 0, $m2, $d1, $y2)) / 86400;
  if ($d < 0) {
    $m -= 1;
    $d += date('j', mktime(0, 0, 0, $m2, 0, $y2));
  }
  $m < 0 && $y -= 1;
  return array($y, $m, $d);
}

上一篇下一篇

猜你喜欢

热点阅读