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

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

它是 return 空值。我想比较 Excel sheet 日期和 PHP returned 日期。 Excel sheet return日期是这样的-> 9/Feb/16

您只需将斜杠更改为减号,这样 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();

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

中获取 "raw" 值
$date = $objPHPExcel->getActiveSheet()
    ->getCell('A' . $x)->getValue();

2016 年 2 月 2 日应该 return 像 42409 这样的数字

然后使用内置的 date/time 转换函数将其转换为 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');