Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将j/M/y日期格式更改为时间戳?_Php_Excel_Date_Phpexcel_Date Format - Fatal编程技术网

Php 如何将j/M/y日期格式更改为时间戳?

Php 如何将j/M/y日期格式更改为时间戳?,php,excel,date,phpexcel,date-format,Php,Excel,Date,Phpexcel,Date Format,我试图转换为时间戳,但没有工作,我的代码如下 $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您只需将斜杠

我试图转换为时间戳,但没有工作,我的代码如下

$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

您只需将斜杠更改为减号即可
strotime
将$date识别为日期

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

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

$date = $objPHPExcel->getActiveSheet()
    ->getCell('A' . $x)->getValue();
这将返回2016年2月2日的数字,如42409

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

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

$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');