如何将年月日的日期格式更改为时间戳


How can i change j/M/y date format to timestamp?

我尝试转换为时间戳,但无法工作,我的代码低于

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

它的返回值为空。我想比较Excel的工作表日期和PHP的返回日期。Excel表格返回日期如下->2016年2月9日

如果单元格中的值是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');

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

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

live sample

$d = DateTime::createFromFormat('j/M/y', '9/Feb/16');
echo $d->getTimestamp();