Преобразовать временную метку в читаемую дату/время PHP

У меня есть отметка времени, сохраненная в сеансе (1299446702).

Как я могу преобразовать это в читаемую дату/время в PHP? Я пробовал srttotime и т.д. Безрезультатно.

Ответ 1

Используйте функцию PHP date().

Пример:

echo date('m/d/Y', 1299446702);

Ответ 2

strtotime создает строку даты в метку времени. Вы хотите сделать обратное, которое date. Типичный формат даты mysql: date('Y-m-d H:i:s'); Проверьте страницу руководства, на которую указывают другие буквы.

Если у вас есть метка времени, которую вы хотите использовать (видимо, вы это делаете), это второй аргумент date().

Ответ 3

Я только что добавил H: i: s в ответ Rocket, чтобы получить время вместе с датой.

echo date('m/d/Y H:i:s', 1299446702);

Выход: 03/06/2011 16:25:02

Ответ 4

$timestamp = 1465298940;
$datetimeFormat = 'Y-m-d H:i:s';

$date = new \DateTime();
// If you must have use time zones
// $date = new \DateTime('now', new \DateTimeZone('Europe/Helsinki'));
$date->setTimestamp($timestamp);
echo $date->format($datetimeFormat);

результат: 2016-06-07 14:29:00

Другие часовые пояса:

Ответ 5

Если вы используете PHP date(), вы можете использовать этот код для получения даты, времени, секунды и т.д.

$time = time();               // you have 1299446702 in time
$year = $time/31556926 % 12;  // to get year
$week = $time / 604800 % 52;  // to get weeks
$hour = $time / 3600 % 24;    // to get hours
$minute = $time / 60 % 60;    // to get minutes
$second = $time % 60;         // to get seconds

Ответ 6

Попробуйте.

<?php
 $timestamp=1333342365;
 echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
 ?>

Ответ 7

Я знаю, что старый вопрос, но его высоко в результатах поиска.

Если кому-то нужно преобразование метки времени непосредственно в объект DateTime, есть простая однострочная строка:

$timestamp = 1299446702;
$date = DateTime::createFromFormat('U', $timestamp);

После комментария @sromero параметр часового пояса (3-й параметр в DateTime :: createFromFormat()) игнорируется, когда передается метка времени unix, поэтому приведенный ниже код не нужен.

$date = DateTime::createFromFormat('U', $timestamp, new DateTimeZone('UTC'); // not needed, 3rd parameter is ignored

Вы можете проверить руководство PHP для DateTime :: createFromFormat для получения дополнительной информации и опций.

Ответ 9

Вы можете попробовать следующее:

   $mytimestamp = 1465298940;

   echo gmdate("m-d-Y", $mytimestamp);

Выход:

06-07-2016

Ответ 10

echo date("l M j, Y",$res1['timep']);
Это действительно хорошо для преобразования временной метки unix в удобочитаемую дату вместе с днем. Пример: Четверг 7 июля 2016 г.

Ответ 11

echo 'Le '.date('d/m/Y', 1234567890).' &agrave; '.date('H:i:s', 1234567890);

Ответ 12

Попробуй это:

echo date('m/d/Y H:i:s', 1541843467);

Ответ 13

$epoch = 1483228800;
$dt = new DateTime("@$epoch");  // convert UNIX timestamp to PHP DateTime
echo $dt->format('Y-m-d H:i:s'); // output = 2017-01-01 00:00:00

В приведенных выше примерах "r" и "Ymd H: i: s" представляют собой форматы даты PHP, другие примеры:

Формат вывода

r              -----    Wed, 15 Mar 2017 12:00:00 +0100 (RFC 2822 date)
c              -----    2017-03-15T12:00:00+01:00 (ISO 8601 date)
M/d/Y          -----    Mar/15/2017
d-m-Y          -----    15-03-2017
Y-m-d H:i:s    -----    2017-03-15 12:00:00

Ответ 14

Вы можете использовать это.

Сначала объявите функцию, а затем замените Europe/Madrid своим часовым поясом. Смотрите здесь поддерживаемые часовые пояса

function dateConvert($timestamp) {
    date_default_timezone_set('Europe/Madrid');
    $moment = date("Y-m-d ", $timestamp/1000);
    $moment = $moment.date("H:i:s", $timestamp/1000);
    return $moment;
}

Чтобы использовать функцию, просто вызывайте ее в любое время или сохраняйте в переменной.

echo dateConvert(1557347838817);

Этот пример будет 2019-05-08 22:37:18: 2019-05-08 22:37:18

Ответ 15

используйте это.

 function format_date($str) {
        $month = array(" ", "Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sep", "Oct", "Nov", "Dec");
        $y = explode(' ', $str);
        $x = explode('-', $y[0]);
        $date = "";    
        $m = (int)$x[1];
        $m = $month[$m];
        $st = array(1, 21, 31);
        $nd = array(2, 22);
        $rd = array(3, 23);
        if(in_array( $x[2], $st)) {
                $date = $x[2].'st';
        }
        else if(in_array( $x[2], $nd)) {
                $date .= $x[2].'nd';
        }
        else if(in_array( $x[2], $rd)) {
                $date .= $x[2].'rd';
        }
        else {
                $date .= $x[2].'th';
        }
        $date .= ' ' . $m . ', ' . $x[0];

        return $date;
}

Ответ 16

echo strtotime('2/02/2018');

Функция PHP strtotime()