Преобразование метки времени UNIX в форматированную строку даты

Используя PHP, я хочу преобразовать временные метки UNIX в строки даты, подобные этому: 2008-07-17T09:24:17Z

Как преобразовать временную метку, такую ​​как 1333699439 в 2008-07-17T09:24:17Z?

Ответ 1

Попробуйте gmdate вот так:

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

Ответ 2

использовать функцию даты date ( string $format [, int $timestamp = time() ] )

Используйте date('c',time()) как формат для преобразования в дату ISO 8601 (добавленный в PHP 5) - 2012-04-06T12:45:47+05:30

используйте date("Y-m-d\TH:i:s\Z",1333699439), чтобы получить 2012-04-06T13:33:59Z

Ниже перечислены некоторые форматы функции даты.

<?php
$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
?>

Ответ 3

Предполагая, что вы используете PHP5.3, тогда современный способ обработки дат осуществляется через собственный класс DateTime. Чтобы получить текущее время, вы можете просто позвонить

$currentTime = new DateTime();

Чтобы создать объект DateTime с определенной отметки времени (т.е. не сейчас)

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

Чтобы получить форматированную строку, вы можете вызвать

$formattedString = $currentTime->format( 'c' );

Смотрите страницу здесь

Ответ 4

Очень важно установить часовой пояс по умолчанию, чтобы получить правильный результат

<?php
// set default timezone
date_default_timezone_set('Europe/Berlin');

// timestamp
$timestamp = 1307595105;

// output
echo date('d M Y H:i:s Z',$timestamp);
echo date('c',$timestamp);
?> 

Справка по онлайн-конверсии: http://freeonlinetools24.com/timestamp

Ответ 5

<?php
$timestamp=1486830234542;
echo date('Y-m-d H:i:s', $timestamp/1000);
?>

Ответ 6

$unixtime_to_date = date('jS F Y h:i:s A (T)', $unixtime);

Это должно работать.

Ответ 7

Я нашел информацию в этом разговоре настолько полезной, что я просто хотел добавить, как я ее понял, используя временную метку из моей базы данных MySQL и немного PHP

 <?= date("Y-m-d\TH:i:s\+01:00",strtotime($column['loggedin'])) ?>

Выход был: 2017-03-03T08: 22: 36 + 01: 00

Большое спасибо Stewe, на который вы отвечали, была для меня эврика.

Ответ 8

проверьте этот url http://www.epochconverter.com/.

Имейте все временные метки Epoch и Unix языка.