PHP 日付 差 取得の例

投稿者:

DateTime形式から現在日時までの差(日)
  /**
   * 日の差分を返す
   *
   * @param datetime
   * @return day
   */
  function getDiffDay($time){
    
    list($y, $m, $d, $hour, $min, $sec) = $this->getSepTimePart($time);
    $regist1 = mktime($hour, $min, $sec ,$m, $d, $y);
    
    // 現在
    $regist2 = mktime(date(‘H’),date(‘i’), date(‘s’), date(‘m’),date(‘d’),date(‘Y’));
    
    // 日の差分
    $time_difference = $regist2-$regist1;
    return floor($time_difference/(3600*24));
  }
  /**
   * 日付をばらす
   *
   * @param datetime
   * @return y, m, d, h, i, s
   */
  function getSepTimePart($time){
    
    // 日時を前半と後半に分割
    $t = explode(” “, $time);
    // 前半を分割
    $d1 = explode(“-“, $t[0]);
    // 後半を分割
    $d2 = explode(“:”, $t[1]);
    
    return array(
      sprintf(“%04d”, $d1[0]),
      sprintf(“%01d”, $d1[1]),
      sprintf(“%01d”, $d1[2]),
      sprintf(“%01d”, $d2[0]),
      sprintf(“%01d”, $d2[1]),
      sprintf(“%01d”, $d2[2])
      );
  }

Thank you for reading this post, don't forget to subscribe!