Функція PHP Date() & Time: як отримати поточну позначку часу?

⚡ Розумний підсумок

Функція PHP date() форматує позначки часу у зрозумілі для людини дати та час. У цьому покроковому посібнику пояснюється синтаксис дати, позначка часу Unix, як перераховувати та встановлювати часові пояси, функція mktime для створення позначок часу та повний довідник символів формату часу, дня, місяця та року.

  • 📅 Що робить date(): Функція date перетворює позначку часу на відформатований рядок, використовуючи такі символи, як Y, m та d для позначення року, місяця та дня.
  • 🇧🇷 Мітка часу Unix: Мітка часу — це кількість секунд з 1 січня 1970 року за Гринвічем, а time() повертає поточне значення.
  • 🌍 Часові зони: date_default_timezone_set змінює активний часовий пояс, а DateTimeZone::listIdentifiers перераховує всі підтримувані зони.
  • 🔧 час роботи: Функція mktime створює позначку часу з певної години, хвилини, секунди, місяця, дня та року.
  • 🔤 Символи формату: Окремі літери керують виводом, наприклад, H для 24-годинного часу, l для назви дня тижня та F для назви місяця.
  • 📐 Довідкові таблиці: У згрупованих таблицях перелічено символи формату часу, дня, місяця та року з прикладом виконання для кожного з них.
  • 🤖 AI Assist: Інструменти штучного інтелекту можуть генерувати форматування дати та код різниці, а також допомагати вирішувати заплутані помилки часових поясів.

Функція PHP date ()

Функція PHP date ()

Функція date в PHP — це вбудована функція, яка спрощує роботу з типами даних date. Функція date в PHP використовується для форматування дати або часу у формат, зрозумілий для людини. Її можна використовувати для відображення дати публікації статті або запису останнього оновлення даних у базі даних.

Синтаксис і приклад дати PHP

PHP date() має наступний базовий синтаксис.

<?php
date(format,[timestamp]);
?>

ТУТ,

  • «date(…)» – це функція, яка повертає поточну позначку часу, відформатовану в PHP на сервері.
  • «формат» – це загальний формат, у якому ми хочемо бачити наш вивід, наприклад:
    • «Ymd» для формату дати PHP РРРР-ММ-ДД
    • «Y» для відображення поточного року
  • «[timstamp]» необов’язковий. Якщо позначку часу не вказано, PHP використовуватиме поточну дату та час на сервері.

Давайте розглянемо простий приклад, який відображає поточний рік.

<?php

echo date("Y");

?>

вихід:

2026

Що таке TimeStamp?

Мітка часу в 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

TimeStamp

Примітка: значення позначки часу не є константою. Воно змінюється щосекунди.

Отримання списку доступних ідентифікаторів часового поясу

Перш ніж ми розглянемо, як програмно встановити часовий пояс за замовчуванням, давайте розглянемо, як отримати список підтримуваних часових поясів.

<?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()” – це функція, яка встановлює часовий пояс за умовчанням
  • “string $timezone_identifier” – це ідентифікатор часового поясу

Наведений нижче скрипт відображає час відповідно до часового поясу за замовчуванням, встановленого у php.ini. Потім він змінює часовий пояс за замовчуванням на Азія/Калькутта та знову відображає час.

<?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 встановлює часовий пояс програмно

Функція PHP Mktime

Функція mktime повертає мітку часу в a Юнекс Формат.

Він має такий синтаксис.

<?php
mktime(hour, minute, second, month, day, year, is_dst);
?>

ТУТ,

  • «mktime(…)» — це функція make timestamp PHP
  • «Година» необов’язкова; це число години
  • «Хвилина» необов’язкова; це кількість хвилин
  • «Секунда» необов’язкова; це кількість секунд
  • «Місяць» необов’язковий; це номер місяця
  • «День» необов’язковий; це номер дня
  • «Рік» необов’язковий; це номер року
  • «is_dst» — необов’язковий параметр; він використовується для визначення переходу на літній час (DST). 1 — для DST, 0 — якщо ні, і -1 — якщо невідомий.

Розглянемо тепер приклад, який створює позначку часу для дати 13/10/2025 за допомогою функції mktime.

<?php

echo mktime(0,0,0,10,13,2025);

?>

ТУТ,

  • «0,0,0» – це година, хвилина та секунди відповідно.
  • «10» — місяць року
  • «13» — день місяця
  • «2025» - рік

вихід:

1760328000

Довідник з формату дати в PHP

У таблицях нижче наведено поширені символи форматування, що використовуються під час роботи з функціями дати PHP.

Параметри часу

Параметр Опис Приклад
"R" Повертає повну дату й час
<?php
echo date("r");
?>
«а», «А» Повертає поточний час до ранку чи після полудня, до полудня чи після полудня відповідно
<?php
echo date("a");
echo date("A");
?>
«г», «Г» Повертає годину без початкових нулів [1–12], [0–23] відповідно
<?php
echo date("g");
echo date("G");
?>
«г», «Г» Повертає годину з початковими нулями [від 01 до 12], [від 00 до 23] відповідно
<?php
echo date("h");
echo date("H");
?>
«і», «с» Повертає хвилини/секунди з нулями на початку [00–59]
<?php
echo date("i");
echo date("s");
?>

Параметри дня

Параметр Опис Приклад
"D" Повертає день місяця з нулями на початку [01–31]
<?php
echo date("d");
?>
"j" Повертає день місяця без нулів на початку [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");
?>
"З" Повертає день року без пробілів [від 0 до 365]
<?php
echo date("z");
?>

Параметри місяця

Параметр Опис Приклад
"М" Повертає номер місяця з нулями на початку [01–12]
<?php
echo date("m");
?>
"N" Повертає номер місяця без нулів на початку [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");
?>

Поширені запитання

date() — це проста процедурна функція, яка форматує позначку часу. Клас DateTime є об'єктно-орієнтованим і підтримує арифметику, порівняння, часові пояси та незмінність, що робить його кращим для складної логіки дат у великих застосунках.

Використовуйте strtotime(), яка зчитує формати на кшталт '2025-10-13' або 'next Monday' та повертає позначку часу Unix. Для суворого розбору відомого формату DateTime::createFromFormat безпечніший, оскільки він явно не спрацьовує при недійсному введенні.

Створіть два об'єкти DateTime та викличте diff(), який повертає значення DateInterval. Потім ви можете зчитувати дні, місяці або роки, наприклад, $start->diff($end)->days, щоб отримати загальну кількість днів між датами.

Так. Опишіть формат вхідних та вихідних даних, і ШІ зможе створювати код date(), DateTime або strtotime, включаючи додавання інтервалів або перетворення часових поясів. Перевірте це на граничних випадках, таких як високосні роки та кінці місяців.

Так. Штучний інтелект може виявити відсутній виклик date_default_timezone_set, невідповідність часового поясу сервера та дисплея або проблеми з переходом на літній час, а потім рекомендувати використовувати DateTime із явними часовими поясами, щоб зробити поведінку передбачуваною.

Підсумуйте цей пост за допомогою: