У меня есть отметка времени, сохраненная в сеансе (1299446702).
Как я могу преобразовать это в читаемую дату/время в PHP? Я пробовал srttotime и т.д. Безрезультатно.
У меня есть отметка времени, сохраненная в сеансе (1299446702).
Как я могу преобразовать это в читаемую дату/время в PHP? Я пробовал srttotime и т.д. Безрезультатно.
Используйте функцию PHP date()
.
Пример:
echo date('m/d/Y', 1299446702);
strtotime создает строку даты в метку времени. Вы хотите сделать обратное, которое date. Типичный формат даты mysql: date('Y-m-d H:i:s');
Проверьте страницу руководства, на которую указывают другие буквы.
Если у вас есть метка времени, которую вы хотите использовать (видимо, вы это делаете), это второй аргумент date()
.
Я только что добавил H: i: s в ответ Rocket, чтобы получить время вместе с датой.
echo date('m/d/Y H:i:s', 1299446702);
Выход: 03/06/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
Попробуйте.
<?php
$timestamp=1333342365;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>
Я знаю, что старый вопрос, но его высоко в результатах поиска.
Если кому-то нужно преобразование метки времени непосредственно в объект 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 для получения дополнительной информации и опций.
Если вам не нужен настраиваемый формат даты и времени, проще, менее подвержено ошибкам и более читабельно использовать одну из встроенных констант формата даты и времени:
echo date(DATE_RFC822, 1368496604);
Вы можете попробовать следующее:
$mytimestamp = 1465298940;
echo gmdate("m-d-Y", $mytimestamp);
Выход:
06-07-2016
echo date("l M j, Y",$res1['timep']);
Это действительно хорошо для преобразования временной метки unix в удобочитаемую дату вместе с днем. Пример:
Четверг 7 июля 2016 г.
echo 'Le '.date('d/m/Y', 1234567890).' à '.date('H:i:s', 1234567890);
Попробуй это:
echo date('m/d/Y H:i:s', 1541843467);
$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
Вы можете использовать это.
Сначала объявите функцию, а затем замените 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
используйте это.
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;
}
echo strtotime('2/02/2018');
Функция PHP strtotime()