Как преобразовать 13-значную метку времени Unix в дату и время?
у меня есть эта 13-значная метка времени 1443852054000, которую я хочу преобразовать в дату и время, но не удается. Я пробовал эти коды:
echo date('Y-m-d h:i:s',$item->timestamp);
не работает для меня, и это
$unix_time = date('Ymdhis', strtotime($datetime ));
и так :
$item = strtotime($txn_row['appoint_date']);
<?php echo date("Y-m-d H:i:s", $time); ?>
что я должен использовать?
2 ответов
очевидно, это метка времени в миллисекундах, а не в секундах. Разделите его на 1000 и используйте date
функция:
echo date('Y-m-d h:i:s', $item->timestamp / 1000);
// e.g
echo date('Y-m-d 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("Y-m-d h:i:s");
echo $date;
//2015-10-03 06:00:54
демо
http://sandbox.onlinephpfunctions.com/code/d0d01718e0fc02574b401e798aaa201137658acb
вы хотите установить часовой пояс по умолчанию чтобы избежать каких-либо предупреждения!--10-->
date_default_timezone_set('Europe/Lisbon');
Примечание:
подробнее о php
дата и время php правильный путь