Преобразование временной метки в человекочитаемую дату и время в PHP
При работе с датой и временем в PHP часто встает задача конвертирования даты и времени из одного формата в другой. В данном скрипте я покажу вам несколько способов, как можно конвертировать дату и время в PHP.
Скрипт:
// самый простой способ получения человеко читаемой даты
echo date('m/d/Y',1319446702)
// а здесь получаем дату и время
echo date('m/d/Y H:i:s',1319446702);
// вариант с использованием ООП
$timestamp = 1319446702;
$datetimeFormat = 'Y-m-d H:i:s';
$date = new \DateTime();
// При необходимости использования временных зон
// добавляем второй аргумент DateTimeZone
// $date = new \DateTime('now', new \DateTimeZone('Europe/Moscow'));
$date->setTimestamp($timestamp); // устанавливаем время
echo $date->format($datetimeFormat); // форматируем
А вот более изощренный способ конвертирования временной метки в PHP в человекочитаемый формат:
$time = time() // допустим сейчас 1319446702
$year = $time / 31556926 % 12; // год
$week = $time / 604800 % 52; // неделя
$hour = $time / 3600 % 24; // часы
$minute = $time / 60 % 60; // минуты
$second = $time % 60; // секунды
Так тоже можно:
// время, но по Гринвичу
$timestamp = 1319446702;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
А вот еще один пример с ООП:
$timestamp = 1319446702;
$date = DateTime::createFromFormat('U', $timestamp);
Ну вот, пожалуй, этого будет достаточно для большинства ситуаций в PHP, где необходимо конвертировать временную метку unix (unix timestamp) в понятную человеку информацию.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.