Сегодняшняя статья посвящена рассмотрению того, как на практике использовать функции по получению даты и времени в PHP, а также обзору способов вывода и форматирования даты и времени.
Функции, которые обрабатывают дату и время в PHP, позволяют получать дату и время с того сервера, на котором выполняется скрипт. Также они позволяют манипулировать, редактировать, форматировать эти значения перед их отображением на экран (выводом). Сегодня мы рассмотрим самые важные функции для работы с датой и временем.
Наиболее используемая функция для обработки даты и времени – это функция 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 |
Иногда вам нужно получить метку времени в прошлом или будущем. Вы можете сделать это с помощью функции 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 день к параметру дня, чтобы получить дату завтрашнего дня.
WordPress годами был непревзойденным "монолитом": он отвечал и за удобную админ-панель, и за хранение данных,…
В мире веб-серверов часто говорят о противостоянии Nginx vs Apache. Но что, если бы я…
Когда я начинал свой путь в веб-разработке, вопрос "какой веб-сервер использовать?" практически не стоял. Ответ…
Когда речь заходит о веб-серверах, два имени всегда на слуху: Apache и Nginx. Apache —…
В мире веб-разработки мы постоянно сталкиваемся с проблемой: "А у меня на компьютере все работает!".…
На заре моей карьеры веб-разработчика все было относительно просто: установил локальный сервер (помните Denwer?), положил…