Это моя текущая программа PHP:
$dateStamp = $_SERVER['REQUEST_TIME'];
который я позже регистрирую.
В результате переменная $dateStamp
содержит такие числа, как:
1385615749
Это временная метка Unix, но я хочу, чтобы она содержала человекочитаемую дату с часами, минутами, секундами, датой, месяцами и годами.
Поэтому мне нужна функция, которая преобразует ее в понятную человеку дату.
Как мне это сделать?
Есть и другие подобные вопросы, но не совсем так. Я хочу простейшее возможное решение.
Это число называется временем Unix . Такие функции, как date()
могут принимать его как необязательный второй параметр для форматирования в читаемое время.
Пример:
echo date('Ymd H:i:s', $_SERVER['REQUEST_TIME']);
Если вы опустите второй параметр, будет использовано текущее значение time()
.
echo date('Ymd H:i:s');
Ваш функциональный аспект для преобразования временной метки в формат для чтения человека следующий:
function convertDateTime($unixTime) { $dt = new DateTime("@$unixTime"); return $dt->format('Ymd H:i:s'); } $dateVarName = convertDateTime(1385615749); echo $dateVarName;
Вывод :-
2013-11-28 05:15:49
Рабочая демонстрация
<?php $date = new DateTime(); $dateStamp = $_SERVER['REQUEST_TIME']; $date->setTimestamp($dateStamp); echo $date->format('U = Ymd H:i:s') . "\n"; ?>
-<?php $date = new DateTime(); $dateStamp = $_SERVER['REQUEST_TIME']; $date->setTimestamp($dateStamp); echo $date->format('U = Ymd H:i:s') . "\n"; ?>
вы можете попробовать это
<?php $date = date_create(); $dateStamp = $_SERVER['REQUEST_TIME']; date_timestamp_set($date, $dateStamp); echo date_format($date, 'U = DMY H:i:s') . "\n"; ?>
этот код будет работать для вас
$dateStamp = $_SERVER['REQUEST_TIME']; echo date('dMY H:i:s',strtotime($dateStamp));
REQUEST_TIME
– это отметка времени unix – отметка времени начала запроса.
$dateStamp = $_SERVER['REQUEST_TIME']; echo date('dm Y', $dateStamp);
ИЛИ
$date = new DateTime($dateStamp); echo $date->format('Ym-d');