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

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

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

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

Пример:

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

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

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

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

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

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

если вы используете 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 
 $timestamp = 1465298940; $datetimeFormat = 'Ymd 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); - $timestamp = 1465298940; $datetimeFormat = 'Ymd 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

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

  • Африка
  • Америка
  • Антарктида
  • Арктический
  • Азия
  • Атлантика
  • Австралия
  • Европа
  • индийский
  • миролюбивый
  • другие

Попробуй.

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

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

  $mytimestamp = 1465298940; echo gmdate("mdY", $mytimestamp); 

Вывод :

06-07-2016

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

Если вам не нужен индивидуальный формат даты и времени, это проще, менее подвержено ошибкам и более читаемо для использования одной из встроенных констант формата даты :

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

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

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

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

Вы также можете включить информацию о часовом поясе, если необходимо:

 $date = DateTime::createFromFormat('U', $timestamp, new DateTimeZone('UTC'); 

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

использовать это.

  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; }