Уроки PHP – получение и вывод даты и времени
Сегодняшняя статья посвящена рассмотрению того, как на практике использовать функции по получению даты и времени в PHP, а также обзору способов вывода и форматирования даты и времени.
Основные моменты для дат и времени в PHP
Функции, которые обрабатывают дату и время в PHP, позволяют получать дату и время с того сервера, на котором выполняется скрипт. Также они позволяют манипулировать, редактировать, форматировать эти значения перед их отображением на экран (выводом). Сегодня мы рассмотрим самые важные функции для работы с датой и временем.
Функция PHP date()
Наиболее используемая функция для обработки даты и времени – это функция date()
. Эта функция возвращает фактическую (системную) дату и время в указанном вами формате. Также функция может конвертировать формат отметки времени (временная метка, метка времени или timestamp) в удобочитаемый формат. Полный синтаксис функции следующий:
date ( string $format [, int $timestamp = time() ] )
Функция возвращает строку, которая отформатирована в соответствии с указанным шаблоном (format
). Аргумент timestamp
задает метку времени; если timestamp не задан, тогда используется текущее системное время. Указывать временную метку необязательно, если вы ее не укажете, тогда она по умолчанию будет равна значению, которое возвращается функцией time()
.
Ниже представлены практические примеры получения фактической информации о дате и времени:
<?php echo "<p>Отображение текущей даты: " . date('d-m-Y') . "</p>"; echo "<p>Отображение текущего времени: " . date('H:i:s') . "</p>"; echo "<p>Отображение текущей даты и времени: " . date('d-m-Y H:i:s') . "</p>"; echo "<p>Отображение текущей даты и времени в длинном формате: " . date('d F Y, D - g:i:s A') . "</p>"; ?>
В данных примерах используются разные шаблоны формата даты и времени. Ниже представлена таблица с расшифровкой некоторых символов в строке format
.
Символ в строке format | Описание | Пример возвращаемого значения |
---|---|---|
День | — | — |
d | День месяца с 2-мя цифрами | от 01 до 31 |
D | День недели в текстовом формате, 3 символа | от Mon до Sun |
z | Порядковый номер дня в году (начиная с 0) | От 0 до 365 |
Месяц | — | — |
F | Полное название месяца, например, January или March | от January до December |
m | Порядковый номер месяца, 2 цифры | от 01 до 12 |
M | Сокращенное название месяца, 3 символа | от Jan до Dec |
Год | — | — |
Y | Порядковый номер года, 4 цифры | Примеры: 1999, 2019 |
y | Порядковый номер года, 2 цифры | Примеры: 99, 19 |
Время | — | — |
a | Ante meridiem (лат. «до полудня») или Post meridiem (лат. «после полудня») в нижнем регистре | am или pm |
A | Ante meridiem или Post meridiem в верхнем регистре | AM или PM |
g | Часы в 12-часовом формате | от 1 до 12 |
G | Часы в 24-часовом формате | от 0 до 23 |
h | Часы в 12-часовом формате | от 01 до 12 |
H | Часы в 24-часовом формате, 2 цифры | от 00 до 23 |
i | Минуты, 2 цифры | от 00 до 59 |
s | Секунды, 2 цифры | от 00 до 59 |
Функция PHP mktime()
Иногда вам нужно получить метку времени в прошлом или будущем. Вы можете сделать это с помощью функции mktime()
. Вам нужно указать нужную дату, и она возвращается с меткой времени Unix. Синтаксис данной функции следующий:
int mktime ( [int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year]]]]]] )
Здесь используются следующие данные:
hour
– Количество часов, прошедших с начала дня, указанного параметрами month, day и year.minute
– Количество минут, прошедших от начала часа, указанного параметром hour.second
– Количество секунд, прошедших от начала минуты, указанной параметром minute.month
– Количество месяцев, прошедших с конца предыдущего года.day
– Количество дней, прошедших с конца предыдущего месяца.year
– Номер года, может быть указан двумя или четырьмя цифрами.
Вы можете использовать эту временную метку с вышеупомянутой функцией даты (date()
), чтобы отобразить ее в нужном формате. Ниже представлены некоторые практические примеры использования этой функции:
<?php echo "<p>Отображение даты, сгенерированной функцией mktime: " . date('d-m-Y', mktime(0, 0, 0, 5, 25, 2019)) . "</p>"; echo "<p>Отображение даты, сгенерированной функцией mktime с неверным указанием дня и месяца: " . date('d-m-Y', mktime(0, 0, 0, 14, 32, 2019)) . "</p>"; ?>
Если вы хотите получить дату завтрашнего дня, вы можете использовать следующий код:
<?php echo "<p>Сегодняшняя дата: " . date('d-m-Y') . "</p>"; echo "<p>Завтра будет: " . date('d-m-Y', mktime(0, 0, 0, date('m'), date('d')+1, date('Y') ) ) . "</p>"; ?>
В данном примере мы использовали функцию mktime()
и добавили 1 день к параметру дня, чтобы получить дату завтрашнего дня.
Последние посты
Авраам Линкольн
Мы не поможем людям, делая за них то, что они могли бы сделать сами Авраам… Читать далее
Как хранить кофе, чтобы он не терял вкус и аромат
Вкус приготовленного напитка зависит не только от сорта кофе, способа и степени прожарки, помола зерен,… Читать далее
Габриэль Гарсиа Маркес
Возраст — это не то, сколько тебе лет, а то, — как ты их чувствуешь… Читать далее
Краткое описание лицензий с открытым исходным кодом
Если вы создаете программное обеспечение, которым хотите поделиться, или используете программный продукт, который хотите модифицировать,… Читать далее
Нил Гейман
Люди думают, что будут счастливы, если переедут в другое место, а потом оказывается: куда бы… Читать далее
Уроки JavaScript — как начать работать с объектами
Объекты являются одной из самых важных и мощных функций JavaScript, и во многих встроенных функциях… Читать далее