Уроки 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 день к параметру дня, чтобы получить дату завтрашнего дня.

 

Recent Posts

Как изменить активную тему WordPress через базу данных

Тема (шаблон) – это своеобразный скелет сайта на WordPress. И, к сожалению, иногда этот «скелет»…

7 часов ago

5 практических советов по разработке форм под мобильные устройства

Контактная форма (или любая другая) на сайте – это очень важный компонент. На нее возложен…

1 день ago

Лина Костенко

Ужас не в том, что что-нибудь изменится. Ужас в том, что все может остаться тем…

7 дней ago

Трансформационная игра родом из древней Индии — Лила

Что такое Лила — это древняя игра, выступающая в качестве инструмента для личностной трансформации, практик…

1 неделя ago

Конструктор — лучший вариант интерактивной игрушки для детей

Современные варианты детских конструкторов — это не просто игрушки, а действенный инструмент развития, который помогает…

1 неделя ago

Как сделать так, чтобы ваш сайт показывался в блоке ответов Google

Основной трафик на сайт с поисковых систем идет именно по органической выдаче. И здесь очень…

1 неделя ago