Конвертировать Epoch Время от времени PHP
Я использую API прямо сейчас, и он предоставляет epochTime. Я пробовал все, чтобы преобразовать это эпохальное время на сегодняшний день, но он не работает, включая $epoch_time / 1000
, а затем с помощью функции date()
для его преобразования.
Время эпохи выглядит примерно так: 1353430853299. Есть ли способ сделать это? strtotime()
тоже не работает.
Похоже, что все другие чтения о времени эпохи - это изменение даты в эпохальный, но я ищу, чтобы идти наоборот. Любая помощь приветствуется.
Ответы
Ответ 1
Исправлено это с помощью substr ($ epoch, 0, 10), а затем использовалась функция даты для тех, кто задавался вопросом о 13-значном эпохе.
Вот пример кода:
echo date("Y-m-d H:i:s", substr("1477020641000", 0, 10));
// Result: 2016-10-20 20:30:41
Ответ 2
Есть несколько способов сделать это.
Во-первых, у вас есть время в эпоху Unix. (1/1/1970), что делает все намного проще.
В PHP попробуйте
$epoch = 1344988800;
$dt = new DateTime("@$epoch");
echo $dt->format('Y-m-d H:i:s');
Чтобы отобразить дату
ИЛИ
Если вы хотите длинную дату RFC232:
echo date('r', $epoch);
Ответ 3
$epoch = 1344988800;
$dt = new DateTime("@$epoch"); // convert UNIX timestamp to PHP DateTime
echo $dt->format('Y-m-d H:i:s'); // output = 2012-08-15 00:00:00
Подробнее: http://www.epochconverter.com/programming/functions-php.php
Ответ 4
<?php
$epoch = '1353429562';
date_default_timezone_set('GMT');
echo date('Y-m-d H:i:s', $epoch);
Ответ 5
FYI, API, отправляющий эпоху использования данных JSON с миллисекундами для совместимости с веб-браузерами.
Я не знаю, почему PHP нужно удалить миллисекунды, так как это стандарт для каждого веб-браузера.
Итак, вы можете использовать левый 10 или /1000 (лучше разделить на 1000, если вы не хотите получать неприятности 20 ноября 2286 года!!!)