PHP Date() и функция времени: как получить текущую временную метку?
⚡ Умное резюме
Функция `date()` в PHP форматирует метки времени в удобочитаемый формат даты и времени. В этом пошаговом руководстве объясняется синтаксис даты, метка времени Unix, как перечислить и установить часовые пояса, функция `mktime` для создания меток времени, а также приводится полный справочник символов форматирования времени, дня, месяца и года.

Функция PHP date ()
Функция `date` в PHP — это встроенная функция, упрощающая работу с типом данных «дата». Функция `date` в PHP используется для форматирования даты или времени в удобочитаемый формат. Она может использоваться для отображения даты публикации статьи или записи времени последнего обновления данных в базе данных.
Синтаксис и пример даты PHP
Функция `date()` в PHP имеет следующий базовый синтаксис.
<?php date(format,[timestamp]); ?>
ВОТ,
- Функция “date(…)” возвращает текущую метку времени в формате PHP на сервере.
- «Формат» — это общий формат, в котором мы хотим получить результат, например:
- “Ymd” — это обозначение формата даты PHP: ГГГГ-ММ-ДД
- «Y» для отображения текущего года
- Параметр «[timestamp]» является необязательным. Если метка времени не указана, PHP будет использовать текущую дату и время на сервере.
Рассмотрим простой пример, отображающий текущий год.
<?php echo date("Y"); ?>
Выход:
2026
Что такое временная метка?
В PHP метка времени — это числовое значение в секундах между текущим временем и значением в момент времени 1.st Январь 1970 г., 00:00:00 по Гринвичскому времени (GMT).
Значение, возвращаемое функцией времени, зависит от часового пояса по умолчанию.
Часовой пояс по умолчанию задается в файле php.ini. Его также можно установить программно с помощью функции date_default_timezone_set.
Приведённый ниже код отображает текущую метку времени.
<?php
echo time();
?>
Предположим, вы сохранили файл timestamp.php в папке phptuts. Перейдите по указанному пути. URL http://localhost/phptuts/timestamp.php
Примечание: значение метки времени не является постоянным. Оно меняется каждую секунду.
Получение списка доступных идентификаторов часовых поясов
Прежде чем рассматривать, как программно установить часовой пояс по умолчанию, давайте посмотрим, как получить список поддерживаемых часовых поясов.
<?php $timezone_identifiers = DateTimeZone::listIdentifiers(); foreach($timezone_identifiers as $key => $list){ echo $list . "<br/>"; } ?>
ВОТ,
- Вызов функции “$timezone_identifiers = DateTimeZone::listIdentifiers();” обращается к статическому методу listIdentifiers встроенного класса DateTimeZone. Метод listIdentifiers возвращает список идентификаторов, которые присваиваются переменной $timezone_identifiers.
- Функция «foreach{…}» перебирает элементы массива и выводит их значения.
Предположим, вы сохранили файл list_time_zones.php в папке phptuts. Перейдите по указанному пути. URL http://localhost/phptuts/list_time_zones.php
PHP устанавливает часовой пояс программно
Функция date_default_timezone_set позволяет вам установить часовой пояс по умолчанию из PHP-скрипта.
Установленный часовой пояс будет использоваться для всех дат. Функции PHP в ваших скриптах. Синтаксис следующий.
<?php date_default_timezone_set(string $timezone_identifier); ?>
ВОТ,
- «date_default_timezone_set()» — это функция, которая устанавливает часовой пояс по умолчанию.
- «строка $timezone_identifier» — идентификатор часового пояса.
Приведённый ниже скрипт отображает время в соответствии с часовым поясом по умолчанию, установленным в файле php.ini. Затем он изменяет часовой пояс по умолчанию на Asia/Calcutta и снова отображает время.
<?php echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); date_default_timezone_set("Asia/Calcutta"); echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s"); ?>
Предположим, вы сохранили файл set_time_zone.php в папке phptuts. Перейдите по указанному пути. URL http://localhost/phptuts/set_time_zone.php
Функция PHP Mktime
Функция mktime возвращает метку времени в формате Юникс формат.
Он имеет следующий синтаксис.
<?php mktime(hour, minute, second, month, day, year, is_dst); ?>
ВОТ,
- «mktime(…)» — это функция отметки времени PHP make.
- «Час» — необязательный параметр; это число, обозначающее текущий час.
- «Минута» — необязательный параметр; это количество минут.
- «Секунда» — необязательный параметр; это количество секунд.
- «Месяц» — необязательный параметр; это номер месяца.
- «День» — необязательный параметр; это номер дня.
- «Год» — необязательный параметр; это номер года.
- Параметр “is_dst” является необязательным; он используется для определения перехода на летнее время. Значение 1 означает переход на летнее время, 0 — нет, а -1 — неизвестно.
Рассмотрим теперь пример, в котором с помощью функции mktime создается метка времени для даты 13.10.2025.
<?php
echo mktime(0,0,0,10,13,2025);
?>
ВОТ,
- «0,0,0» — это, соответственно, час, минута и секунда.
- «10» — месяц года.
- «13» — день месяца.
- «2025» — год
Выход:
1760328000
Справочник по формату даты PHP
В таблицах ниже показаны распространенные символы форматирования, используемые при работе с функциями работы с датами в PHP.
Параметры времени
| Параметр | Описание | Пример |
|---|---|---|
| "Р" | Возвращает полную дату и время |
<?php echo date("r"); ?> |
| «а», «А» | Возвращает значение текущего времени: am или pm, AM или PM соответственно. |
<?php echo date("a"); echo date("A"); ?> |
| "гарантированная победа" | Возвращает час без ведущих нулей [от 1 до 12], [от 0 до 23] соответственно. |
<?php echo date("g"); echo date("G"); ?> |
| «h», «H» | Возвращает час с ведущими нулями [01–12] и [00–23] соответственно. |
<?php echo date("h"); echo date("H"); ?> |
| "является" | Возвращает минуты/секунды с ведущими нулями [от 00 до 59] |
<?php echo date("i"); echo date("s"); ?> |
Параметры дня
| Параметр | Описание | Пример |
|---|---|---|
| «Д» | Возвращает день месяца с ведущими нулями [от 01 до 31] |
<?php echo date("d"); ?> |
| «Дж» | Возвращает день месяца без ведущих нулей [от 1 до 31] |
<?php echo date("j"); ?> |
| «D» | Возвращает первые 3 буквы названия дня недели [с воскресенья по субботу]. |
<?php echo date("D"); ?> |
| «L» | Возвращает название дня недели [с воскресенья по субботу]. |
<?php echo date("l"); ?> |
| «ж» | Возвращает день недели без ведущих нулей [от 0 до 6]; воскресенье обозначается нулем (0), а суббота — шестью (6). |
<?php echo date("w"); ?> |
| "Z" | Возвращает день года без пробелов [от 0 до 365] |
<?php echo date("z"); ?> |
Параметры месяца
| Параметр | Описание | Пример |
|---|---|---|
| «М» | Возвращает номер месяца с ведущими нулями [от 01 до 12] |
<?php echo date("m"); ?> |
| «Н» | Возвращает номер месяца без ведущих нулей [от 1 до 12] |
<?php echo date("n"); ?> |
| "М" | Возвращает первые 3 буквы названия месяца [с января по декабрь] |
<?php echo date("M"); ?> |
| "F" | Возвращает название месяца [с января по декабрь] |
<?php echo date("F"); ?> |
| «Т» | Возвращает количество дней в месяце [от 28 до 31] |
<?php echo date("t"); ?> |
Параметры года
| Параметр | Описание | Пример |
|---|---|---|
| "L" | Возвращает 1, если год високосный, и 0, если год не високосный. |
<?php echo date("L"); ?> |
| "Y" | Возвращает четырехзначный формат года. |
<?php echo date("Y"); ?> |
| "Y" | Возвращает двухзначный формат года (от 00 до 99). |
<?php echo date("y"); ?> |



