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

时间:2016-03-24 07:53:24

标签: 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

3 个答案:

答案 0 :(得分:2)

您只需将斜线更改为减号,以便strtotime将您的日期识别为日期

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

live sample

答案 1 :(得分:2)

如果单元格中的值是MS Excel序列化时间戳,那么您可以获得" raw"细胞的价值

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

答案 2 :(得分:1)

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