Уроки 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 день до параметру дня, щоб отримати дату завтрашнього дня.

 

Share

Останні пости

Найкрасивіші та найбільш вражаючі мости з усього світу (ТОП-10)

Міст — це щось більше, ніж просто споруда, яка поєднує два береги. Для того, щоб… Читати далі

19/04/2024

Соломон

Життя нас вчить, що свою пару ми пізнаємо, коли розлучаємося, своїх братів ми пізнаємо, коли… Читати далі

18/04/2024

Чак Поланік

Хто може — той робить. Хто не може — той критикує Чак Поланік   Читати далі

17/04/2024

Річард Бах

Жодне бажання не дається тобі окремо від сили, що дозволяє його здійснити. Хоча, можливо, для… Читати далі

16/04/2024

Стівен Кінг

Життя — це безперервний досвід, і навіть найгірші моменти займають своє місце у пазлі нашого… Читати далі

15/04/2024

невідомий автор

Люди, які люблять самотність, дорого заплатили за дружбу з кимось... (невідомий автор)   Читати далі

14/04/2024