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

Tags: php

Recent Posts

Опалення і гаряча вода коли треба, а не коли включать

Тепло в домі і гаряча вода в будь-який час для багатьох мешканців багатоквартирних та приватних… Read More

19/09/2020

Інструкція по завантаженню відео з сервісу TikTok (безкоштовно та без watermark)

Якщо ви ще не чули про TikTok, тоді рекомендуємо вам спочатку ознайомитися з цим коротким… Read More

17/09/2020

Що є в бюджетному ноутбуці – на які характеристики розраховувати?

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

16/09/2020

Що краще: цифрове телебачення Т2 чи інтернет-телебачення

Сучасне життя неможливо уявити без телебачення. Воно дозволяє дізнаватися про події в Україні та світі,… Read More

02/09/2020

Гіпоалергенна подушка. Чому вона важлива?

Зараз знайдеться мало людей, в яких немає алергії на продукти або пилок рослин. Вважається, що… Read More

28/08/2020

Футбольний Інстаграм – що нового у топових футболістів

Деякі відомі футболісти ретельно приховують свої особисте життя, а інші – активно постять фотографії з… Read More

24/08/2020