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

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). Не менее четырёх цифр. Для годов до нашей эры указан префикс -. У годов после (и включая) 10000 префикс +. Примеры: -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 - положительные. от -43200 до 50400
  • 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-i-s, j-m-y, it is w Day'); | return 10-55-52, 23-09-22, 5530 5552 5 Fripm22
$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


 

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

 

ПОХОЖИЕ СТАТЬИ

PHP - Как убрать пробелы с начала и конца строки
PHP - Как убрать пробелы с начала и конца строки
WEB
Читать далее
PHP - Как определить часовой пояс - timezone
PHP - Как определить часовой пояс - timezone
WEB
Читать далее
PHP - Функции получения метки времени Unix Timestamp
PHP - Функции получения метки времени Unix Timestamp
WEB
Читать далее