Відповіді:
strtotime робить рядок дати у мітку часу. Ви хочете зробити навпаки, яка є дата . Типовий формат дати mysql - date('Y-m-d H:i:s'); Перевірте сторінку керівництва щодо того, що представляють інші літери.
Якщо у вас є позначка часу, яку ви хочете використовувати (мабуть, ви це робите), це другий аргумент date().
echo date('m/d/Y', strtotime($current_date_variable);
Щойно я додав H: i: s до відповіді Rocket, щоб отримати час разом із датою.
echo date('m/d/Y H:i:s', 1299446702);
Вихід: 06.03.2011 16:25:02
$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
Інші часові пояси:
Якщо ви використовуєте 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
$year = date('Y', $time)
Я знаю, що це одне старе питання, але його високий показник в результатах пошуку.
Якщо хтось хоче перетворення часових позначок безпосередньо в об'єкт 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 для отримання додаткової інформації та параметрів.
Ви можете спробувати це:
$mytimestamp = 1465298940;
echo gmdate("m-d-Y", $mytimestamp);
Вихід:
06.07.2016
Якщо вам не потрібен спеціальний формат дати та часу, використовувати прості вбудовані константи формату дати простіше, менш схильні до помилок і легше читати :
echo date(DATE_RFC822, 1368496604);
echo date("l M j, Y",$res1['timep']);
Це дійсно добре для перетворення часової позначки unix у читану дату разом із днем. Приклад: четвер, 7 липня 2016 року
echo 'Le '.date('d/m/Y', 1234567890).' à '.date('H:i:s', 1234567890);
$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