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

Що таке вита (кручена) пара та де використовується

Сьогодні, в вік високих технологій, дуже важлива швидка та ефективна передача даних. Завдяки швидкому обміну… Read More

21/01/2021

Брюс Лі

Не важливо, як повільно ти рухаєшся, головне, що ти не зупиняєшся - Брюс Лі   Read More

20/01/2021

Google Search Console – Проблема з LCP та як її вирішити

Нещодавно ми писали про нововведення в інструменті для вебмайстрів Google Search Console – Основних веб-показниках.… Read More

18/01/2021

Як змінити HTML код вбудованих елементів WP oEmbed в WordPress?

Починаючи з WordPress версії 2.9 в двигун була додана підтримка oEmbed – формат простого API,… Read More

16/01/2021

Багатофункціональний пристрій коверлок: ключові особливості

Існує багато різновидів швейного обладнання, які відкривають великі можливості для вдосконалення навичок. Один з найскладніших… Read More

15/01/2021

Як зробити відкладене завантаження для HTML, iframe і вбудованого відео

Ліниве (або відкладене) завантаження (Lazy loading) – це популярний метод асинхронного звернення до адреси ресурсу,… Read More

13/01/2021