Преобразование времени эпохи в дату PHP


Я сейчас использую API, и он предоставляет эпохальное время. Я перепробовал все, чтобы преобразовать это время в дату, но, похоже, оно не работает, включая $epoch_time / 1000, а затем используя функцию date() для его преобразования.

Время эпохи выглядит примерно так: 1353430853299. Есть ли способ сделать это? strtotime() тоже не сработало.

Похоже, что все другие показания о времени эпохи касаются изменения даты на время эпохи, но я собираюсь пойти другим путем вокруг. Любая помощь будет очень признательна.

Author: nickhar, 2012-11-20

5 answers

Исправил это с помощью substr ($epoch, 0, 10), а затем использовал функцию даты для всех, кто интересуется 13-значными временами эпохи.

Вот пример кода:

echo date("Y-m-d H:i:s", substr("1477020641000", 0, 10));
// Result: 2016-10-20 20:30:41
 30
Author: user1701252, 2016-10-22 19:47:30

Есть несколько различных способов, которыми вы можете это сделать.

Во-первых, то, что у вас есть, - это время эпохи 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);
 22
Author: Jon, 2012-11-20 16:42:16
$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

 11
Author: twodayslate, 2012-11-20 16:39:42
<?php
$epoch = '1353429562';

date_default_timezone_set('GMT');
echo date('Y-m-d H:i:s', $epoch);
 10
Author: Rawkode, 2015-06-10 13:37:56

К вашему сведению, API, отправляющие данные JSON, используют epoch с миллисекундами, чтобы быть совместимыми с веб-браузерами.

Я не знаю, зачем PHP нужно удалять миллисекунды, так как это стандарт для каждого веб-браузера.

Итак, вы можете использовать левую 10 или /1000 (лучше разделить на 1000, если вы не хотите получить проблемы в ноябре 20, 2286!!!)

 2
Author: foxontherock, 2013-11-07 13:56:59