• PHP Excel导入日期单元格处理


    PHPExcel导入Excel文件,对Excel中日期单元格处理
    /**
     * 判断字符串是否是日期格式
     * @param $date
     * @param $format
     * @return bool
     */
    function is_date($date, $format = 'Y-m-d')
    {
      if (!$date || $date == '0000-00-00') return false;
      $unix_time_1 = strtotime($date);
      if (!is_numeric($unix_time_1)) return false; //非数字格式
      $format_date = date($format, $unix_time_1);
      $unix_time_2 = strtotime($format_date);
      return ($unix_time_1 == $unix_time_2);
    }
    
    /**
     * excel数据导入  日期格式化
     * @param $date
     * @return false|string
     */
    function get_date_by_excel($date)
    {
      if (!$date || $date == '0000-00-00') return null;
    
      $unix_time = \PHPExcel_Shared_Date::ExcelToPHP($date);
    
      return ($unix_time < 0) ? date('Y-m-d', $unix_time) : date('Y-m-d', strtotime(gmdate('Y-m-d', $unix_time)));
    }
    
    /**
     * 获取excel日期格式化结果
     * @param $date string excel日期单元格字符串
     * @param $default string  $date未非日期时返回默认日期
     * @return string
     */
    function excel_date_format($date, $default = '')
    {
      if ($default == '') $default = date('Y-m-d');
    
      if (is_date($date)) return $date;
    
      return get_date_by_excel($date) ?: $default;
    }
  • 相关阅读:
    Codeforces Round #420 (Div. 2) A-E
    Codeforces Round #419 (Div. 2) A-E
    Bzoj4423 [AMPPZ2013]Bytehattan
    51nod1471 小S的兴趣
    Bzoj2629 binomial
    51nod1056 最长等差数列 V2
    51nod1055 最长等差数列
    51nod1110 距离之和最小 V3
    20. 有效的括号
    155.最小栈
  • 原文地址:https://www.cnblogs.com/coder404/p/10373257.html
Copyright © 2020-2023  润新知