Сьогоднішня стаття присвячена розгляду того, як на практиці використовувати функції по отриманню дати і часу в PHP, а також розгляду способів виведення та форматування дати і часу.
Функції, які обробляють дату і час в PHP, дозволяють отримувати дату і час з того сервера, на якому виконується скрипт. Також вони дозволяють маніпулювати, редагувати, форматувати ці значення перед їх відображенням на екран (виведенням). Сьогодні ми розглянемо найважливіші функції для роботи з датою і часом.
Найбільш використовувана функція для обробки дати і часу – це функція 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 |
Іноді вам потрібно отримати мітку часу в минулому або майбутньому. Ви можете зробити це за допомогою функції 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 день до параметру дня, щоб отримати дату завтрашнього дня.
Сьогоднішній огляд присвячений людям, для яких важливе питання конфіденційності в Інтернеті, та хто цінує свої…
Вперше про бренд Pro Plan почули у 1986 році, коли він став частиною американської компанії…
Страх покарання гірше самого покарання (Покарання — завжди щось конкретне, і воно все ж краще,…
Якщо ви плануєте розмістити веб-сайт в мережі Інтернет, дуже важливо знайти для нього швидкий і…
Навчання за кордоном вже давно асоціюється з якісною освітою, новими можливостями та безліччю перспектив. Але…
Вибір майстра для ремонту та перетяжки меблів – завдання, яке потребує вдумливого підходу. Адже від…