Как я могу изменить формат даты j/M/y на отметку времени?
Я попытался преобразовать в метку времени, но не получилось, мой код ниже
$date = $objPHPExcel->getActiveSheet()->getCell('A' . $x)->getFormattedValue();//output value is 9/Feb/16
echo strtotime($date);//return value is empty
Это возвращает пустое значение. Я хочу сравнить дату листа Excel и дату возврата PHP.
Дата возврата листа Excel выглядит следующим образом ->
9/ Февраль/16
2
Author: ÄR Âmmãř Żąîñh, 2016-03-24
3 answers
Если значение в ячейке является сериализованной меткой времени MS Excel, то вы можете получить "сырое" значение из ячейки
$date = $objPHPExcel->getActiveSheet()
->getCell('A' . $x)->getValue();
Который должен возвращать число, подобное 42409, для 2 февраля 2016 года
Затем используйте встроенные функции преобразования даты/времени, чтобы преобразовать их либо в метку времени 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
Author: Mark Baker, 2016-03-24 08:05:27
Вам просто нужно изменить косую черту на символ минус, чтобы strtotime
распознал вас $date как дату
$date = str_replace('/','-',$date);
echo strtotime($date); //output 1454976000
2
Author: Fabio, 2016-03-24 07:55:41
$d = DateTime::createFromFormat('j/M/y', '9/Feb/16');
echo $d->getTimestamp();
1
Author: budwiser, 2016-03-24 08:04:16