【问题标题】:How can i change j/M/y date format to timestamp?如何将 j/M/y 日期格式更改为时间戳?
【发布时间】:2016-07-11 18:17:55
【问题描述】:

我尝试转换为时间戳但不起作用,我的代码在下面

$date = $objPHPExcel->getActiveSheet()->getCell('A' . $x)->getFormattedValue();//output value is 9/Feb/16

echo strtotime($date);//return value is empty

返回空值。我想比较 Excel 工作表日期和 PHP 返回日期。 Excel 表返回日期是这样的 -> 9/Feb/16

【问题讨论】:

    标签: php excel date phpexcel date-format


    【解决方案1】:

    您只需将斜杠更改为减号,strtotime 就会将您识别为 $date 为日期

    $date = str_replace('/','-',$date);
    echo strtotime($date); //output 1454976000
    

    live sample

    【讨论】:

      【解决方案2】:
      $d = DateTime::createFromFormat('j/M/y', '9/Feb/16');
      echo $d->getTimestamp();
      

      【讨论】:

        【解决方案3】:

        如果单元格中的值是 MS Excel 序列化时间戳,那么您可以从单元格中获取“原始”值

        $date = $objPHPExcel->getActiveSheet()
            ->getCell('A' . $x)->getValue();
        

        它应该返回一个像 2016 年 2 月 2 日的 42409 这样的数字

        然后使用内置的日期/时间转换函数将其转换为 unix 时间戳或 PHP DateTime 对象

        $date = PHPExcel_Shared_Date::ExcelToPHP($date); // returns a unix timestamp
        echo date('Y-m-d H:i:s', $date);
        

        $date = PHPExcel_Shared_Date::ExcelToPHPObject($date); // returns a DateTime object
        echo $date->format('Y-m-d H:i:s');
        

        【讨论】:

          猜你喜欢
          • 2018-09-10
          • 2022-06-12
          • 2011-02-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-06-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多