PHP – форматування дати. Функція date().

  • Останнє оновлення: 3 Квітня 2024 р.
  • Перегляди: 15
  • Автор: Адмін
PHP – форматування дати. Функція date().

Колеги всім привіт.

У сьогоднішній статті ми поговоримо про те, як можна форматувати дату в мові програмування PHP.

При роботі з вашим додатком або сайтом або базою даних вам дуже часто доведеться записувати момент часу, коли відбувається якась подія. При записі в базу даних дату і час ми зазвичай використовуємо або php функцію time яка повертає дату у вигляді набору чисел з моменту 1970 року, або ми можемо використовувати спеціальний тип поля в базі даних який називається datetime.

Проблема полягає в тому, що ці варіанти запису дати і часу згодом не зможуть відобразити цю дату в зручному для людини форматі. У мові програмування PHP існує функція, яка допоможе вам відформатувати дату і час у тому вигляді в якому вам потрібно і ми сьогодні її розглянемо.

 

Функція, яка допоможе нам сьогодні форматувати дату називається date().

Синтаксис функції:

date(string $format, ?int $timestamp = null) return string

Функція приймає один обов'язковий параметр, це шаблон, за яким буде йти форматування. Другий параметр не є обов'язковим, це мітка часу timestamp. Якщо другий параметр не передавати, функція буде використовувати поточний системний час Unix.

Функція повертає відформатований рядок із датою. При передачі нечислового значення як параметр timestamp буде повернуто false і викликана помилка рівня E_WARNING.


 

Прийняті формати, шаблони.

  • d - День місяця, 2 цифри з провідним нулем від 01 до 31
  • D - Текстове подання дня тижня, 3 символи від Mon до Sun
  • j - День місяця без провідного нуля від 1 до 31
  • l - Повне найменування дня тижня від Sunday до Saturday
  • N - Порядковий номер дня тижня відповідно до стандарту ISO 8601 від 1 (понеділок) до 7 (неділя)
  • S - Англійський суфікс порядкового числа місяця, 2 символи st, nd, rd або th. Застосовується спільно з j
  • w - Порядковий номер дня тижня від 0 (неділя) до 6 (субота)
  • z - Порядковий номер дня в році (починаючи з 0) Від 0 до 365
  • W - Порядковий номер тижня року відповідно до стандарту ISO 8601; тижні починаються з понеділка Наприклад: 42
  • F - Повне найменування місяця, наприклад, January або March від January до December
  • m - Порядковий номер місяця з провідним нулем від 01 до 12
  • M - Скорочене найменування місяця, 3 символи від Jan до Dec
  • n - Порядковий номер місяця без провідного нуля від 1 до 12
  • t - Кількість днів у вказаному місяці від 28 до 31
  • L - Ознака високосного року 1, якщо рік високосний, інакше 0.
  • o - Номер року відповідно до стандарту ISO 8601. Має те саме значення, що й Y, крім випадку, коли номер тижня ISO (W) належить попередньому або наступному році; тоді буде використано рік цього тижня. Приклади: 1999 чи 2003
  • X - Розширене повне числове уявлення року, не менше 4 цифр, з - для років до нашої ери і + для років нашої ери. Приклади: -0055 +0787 +1999 +10191
  • x - Розширене повне числове подання, якщо потрібне або стандартне повне числове подання, якщо можливо (наприклад, Y). Не менш як чотири цифри. Для років до нашої ери вказано префікс -. У років після (і включаючи) 10 000 префікс +. Приклади: -0055, 0787, 1999 +10191
  • Y - Повне числове уявлення року, не менше 4 цифр, з - для років до нашої ери. Приклади: -0055, 0787, 1999, 2003, 10191.
  • y - Номер року, 2 цифри Приклади: 99, 03
  • a - Ante meridiem (лат. "до полудня") або Post meridiem (лат. "після полудня") у нижньому регістрі am або pm
  • A - Ante meridiem або Post meridiem у верхньому регістрі AM або PM
  • B - Час у форматі Інтернет-часу (альтернативної системи відліку часу доби) від 000 до 999
  • g - Годинник у 12-годинному форматі без провідного нуля від 1 до 12
  • G - Годинник у 24-годинному форматі без провідного нуля від 0 до 23
  • h - Годинник у 12-годинному форматі з провідним нулем від 01 до 12
  • H - Годинник у 24-годинному форматі з провідним нулем від 00 до 23
  • i - Хвилини з провідним нулем від 00 до 59
  • s - Секунди з провідним нулем від 00 до 59
  • u - Мікросекунди. Врахуйте, що date() завжди повертатиме 000000, т.к. вона приймає цілий (int) параметр, тоді як DateTime::format() підтримує мікросекунди, якщо DateTime створений з ними. Наприклад: 654321
  • v - Міллісекунди. Зауваження таке саме як і для u. Приклад: 654
  • e - Ідентифікатор часового поясу Приклади: UTC, GMT, Atlantic/Azores
  • I - (заголовок i) Ознака літнього часу 1, якщо дата відповідає літньому часу, 0 в іншому випадку.
  • O - Різниця з часом за Грінвічем без двокрапки між годинами та хвилинами Наприклад: +0200
  • P - Різниця з часом за Грінвічем з двокрапкою між годинами і хвилинами Наприклад: +02:00
  • p - Те ж, що і P, але повертає Z замість +00:00 (доступний, починаючи з PHP 8.0.0) Наприклад: +02:00
  • T - Абревіатура часового поясу, якщо відома; в іншому випадку зсув за Грінвічем. Приклади: EST, MDT, +05
  • Z - Зміщення часового поясу в секундах. Для часових поясів, розташованих на захід від UTC, повертаються негативні числа, а для розташованих на схід від UTC - позитивні. від -43 200 до 50 400
  • c - Дата у форматі стандарту ISO 8601 2004-02-12T15:19:21+00:00
  • r - Дата у форматі » RFC 222/» RFC 5322 Наприклад: Thu, 21 Dec 2000 16:01:07 +0200
  • U - Кількість секунд, що пройшли з початку Епохи Unix (1 січня 1970 00:00:00 GMT) Дивіться також time()

 

Приклади роботи функції.

$datetime = date("F j, Y, g:i a"); | return September 23, 2022, 10:54 pm
$datetime = date("m.d.y"); | return 09.23.22
$datetime = date("j, n, Y"); | return 23, 9, 2022
$datetime = date("Ymd"); | return 20220923
$datetime = date('h-і-s, j-m-y, it is w Day'); | return 10-55-52, 23-09-22, 5530 5552 5 Fripm2< $datetime = date('\i\t \i\s \t\h\e jS \d\a\y.'); | return it is the 23rd day.
$datetime = date("D M j G:i:s T Y"); | return Fri Sep 23 22:56:23 MSK 2022
$datetime = date('H:m:s \m \i\s\ \m\o\n\t\h'); | return 22:09:37 m is month
$datetime = date("H:i:s"); | return 22:56:50
$datetime = date("Y-m-d H:i:s"); | return 2022-09-23 22:57:03


 

Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.

 

СХОЖІ СТАТТІ

Yii2 - як відключити CSRF валідацію токена
Як згенерувати випадкове та унікальне число в PHP