У меня есть эта 13-значная временная метка 1443852054000, которую я хочу конвертировать в дату и время, но не удалось. Я пробовал эти коды:
echo date('Ymd h:i:s',$item->timestamp);
не работает для меня, а также это
$unix_time = date('Ymdhis', strtotime($datetime ));
и это :
$item = strtotime($txn_row['appoint_date']); <?php echo date("Ymd H:i:s", $time); ?>
что я должен использовать?
Obvioulsy это временная метка в миллисекундах, а не в секундах. Разделите его на 1000 и используйте функцию date
:
echo date('Ymd h:i:s', $item->timestamp / 1000); // eg echo date('Ymd h:i:s',1443852054000/1000); // shows 2015-10-03 02:00:54
Вы можете добиться этого с помощью функции DateTime :: createFromFormat .
Поскольку у вас есть timestamp
с 13 digits
, вам придется разделить ее на 1000
, чтобы использовать ее с DateTime
, то есть:
$ts = 1443852054000 / 1000; // we're basically removing the last 3 zeros $date = DateTime::createFromFormat("U", $ts)->format("Ymd h:i:s"); echo $date; //2015-10-03 06:00:54
DEMO
http://sandbox.onlinephpfunctions.com/code/d0d01718e0fc02574b401e798aaa201137658acb
Вы можете установить часовой пояс по умолчанию, чтобы избежать любых предупреждений
date_default_timezone_set('Europe/Lisbon');
ПРИМЕЧАНИЕ .
Подробнее о php
дата и время на php в правильном направлении