PHP: Работаем с датой и временем

Напишем несколько примеров.


echo date('Y').'<br>';
echo date('F Y').'<br>';
echo date('d F, Y').'<br>';
echo date('d F, Y (l)').'<br>';

Результаты ниже.

2024
November 2024
21 November, 2024
21 November, 2024 (Thursday)

Общий вид функции - date($format, $timestamp). В первом обязательном параметре указывается нужный формат даты. Второй параметр является необязательным и добавляет время к дате.

Для формата даты используются определённые символы. Приведём наиболее популярные из них.

  • d - день месяца с нулем для однозначных значений: 06, 27
  • j - день месяца без нуля: 6, 27
  • D - день недели в сокращённом виде
  • l - день недели в полном виде
  • m - номер месяца с нулём для однозначных значений: 09, 12
  • n - номер месяца без нуля: 9, 12
  • M - название месяца в сокращённом виде
  • F - полное название месяца
  • y - последние две цифры года
  • Y - все цифры года

Вместе с датой можно вывести и время. Для них тоже есть свои символы.

  • g - часы без ведущего нуля в 12-часовом формате
  • h - часы с ведущим нулём в 12-часовом формате
  • G - часы без ведущего нуля в 24-часовом формате
  • H - часы с ведущим нулём в 24-часовом формате
  • a - am/pm в нижнем регистре
  • A - am/pm в верхнем регистре
  • i - минуты с ведущим нулём
  • s - секунды с ведущим нулём

Несколько примеров.


echo date('h:i:s A').'<br>';
echo date('l, h:i A').'<br>';
echo date('d F Y, h:i:s a').'<br>';
01:03:49 PM
Thursday, 01:03 PM
21 November 2024, 01:03:49 pm

Для работы с временем есть отдельные функции time(), mktime($hour, $minute, $second, $month, $day, $year).

Для конвертации строковой даты в форматы времени используется функция strtotime($time, [$now = time()]).

Для добавления, вычитания и сравнивания дат используются специальные функции date_add(), date_sub(), date_diff().

Реклама