Уроки 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

Чи можлива анонімність, конфіденційність чи приватність в Інтернеті?

Сьогоднішній огляд присвячений людям, для яких важливе питання конфіденційності в Інтернеті, та хто цінує свої…

18 години ago

Як з’явився Pro Plan: шлях від ідеї до світового успіху

Вперше про бренд Pro Plan почули у 1986 році, коли він став частиною американської компанії…

4 дні ago

Стефан Цвейг

Страх покарання гірше самого покарання (Покарання — завжди щось конкретне, і воно все ж краще,…

5 днів ago

Чи можна знайти доступний хостинг у 2024 році?

Якщо ви плануєте розмістити веб-сайт в мережі Інтернет, дуже важливо знайти для нього швидкий і…

2 тижні ago

Чому обрати освіту за кордоном: переваги для майбутнього вашої дитини

Навчання за кордоном вже давно асоціюється з якісною освітою, новими можливостями та безліччю перспектив. Але…

2 тижні ago

Як вибрати майстра для перетяжки меблів?

Вибір майстра для ремонту та перетяжки меблів – завдання, яке потребує вдумливого підходу. Адже від…

2 тижні ago