Php функция форматирования даты

date

Возвращает строку, отформатированную в соответствии с указанным в параметре format шаблоном. Используется метка времени, заданная параметром timestamp (метка времени Unix), или текущее системное время, если параметр timestamp не задан. Таким образом, параметр timestamp является необязательным и по умолчанию равен значению, возвращаемому функцией time() .

Метки времени Unix не обрабатывают часовые пояса. Используйте класс DateTimeImmutable и его метод форматирования DateTimeInterface::format() для форматирования информации о дате/времени с привязкой к часовому поясу.

Список параметров

Замечание: Функция date() всегда будет генерировать 000000 в качестве микросекунд, поскольку она принимает параметр int , тогда как DateTime::format() поддерживает микросекунды, если DateTime был создан с микросекундами.

Необязательный параметр timestamp представляет собой метку времени типа int , по умолчанию равную текущему локальному времени, если timestamp не указан или null . Другими словами, значение по умолчанию равно результату функции time() .

Возвращаемые значения

Возвращает отформатированную строку с датой.

Ошибки

Каждый вызов к функциям даты/времени при неправильных настройках часового пояса сгенерирует ошибку уровня E_WARNING , если часовой пояс некорректный. Смотрите также date_default_timezone_set()

Список изменений

Версия Описание
8.0.0 timestamp теперь допускает значение null.

Примеры

Пример #1 Примеры использования функции date()

// установка часового пояса по умолчанию.
date_default_timezone_set ( ‘UTC’ );

// выведет примерно следующее: Monday
echo date ( «l» );

// выведет примерно следующее: Monday 8th of August 2005 03:12:46 PM
echo date ( ‘l jS \of F Y h:i:s A’ );

// выведет: July 1, 2000 is on a Saturday
echo «July 1, 2000 is on a » . date ( «l» , mktime ( 0 , 0 , 0 , 7 , 1 , 2000 ));

/* пример использования константы в качестве форматирующего параметра */
// выведет примерно следующее: Mon, 15 Aug 2005 15:12:46 UTC
echo date ( DATE_RFC822 );

// выведет примерно следующее: 2000-07-01T00:00:00+00:00
echo date ( DATE_ATOM , mktime ( 0 , 0 , 0 , 7 , 1 , 2000 ));
?>

Чтобы запретить распознавание символа как форматирующего, следует экранировать его с помощью обратного слеша. Если экранированный символ также является форматирующей последовательностью, то следует экранировать его повторно.

Пример #2 Экранирование символов в функции date()

Для вывода прошедших и будущих дат удобно использовать функции date() и mktime() .

Пример #3 Пример совместного использования функций date() и mktime()

$tomorrow = mktime ( 0 , 0 , 0 , date ( «m» ) , date ( «d» )+ 1 , date ( «Y» ));
$lastmonth = mktime ( 0 , 0 , 0 , date ( «m» )- 1 , date ( «d» ), date ( «Y» ));
$nextyear = mktime ( 0 , 0 , 0 , date ( «m» ), date ( «d» ), date ( «Y» )+ 1 );
?>

Замечание:

Данный способ более надёжен, чем простое вычитание и прибавление секунд к метке времени, поскольку позволяет при необходимости гибко осуществить переход на летнее/зимнее время.

Ещё несколько примеров использования функции date() . Важно отметить, что следует экранировать все символы, которые необходимо оставить без изменений. Это справедливо и для тех символов, которые в текущей версии PHP не распознаются как форматирующие, поскольку это может быть введено в следующих версиях. Для экранировании управляющих последовательностей (например, \n) следует использовать одинарные кавычки.

Пример #4 Форматирование с использованием date()

// Предположим, что текущей датой является 10 марта 2001, 5:16:18 вечера,
// и мы находимся в часовом поясе Mountain Standard Time (MST)

$today = date ( «F j, Y, g:i a» ); // March 10, 2001, 5:16 pm
$today = date ( «m.d.y» ); // 03.10.01
$today = date ( «j, n, Y» ); // 10, 3, 2001
$today = date ( «Ymd» ); // 20010310
$today = date ( ‘h-i-s, j-m-y, it is w Day’ ); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date ( ‘\i\t \i\s \t\h\e jS \d\a\y.’ ); // it is the 10th day.
$today = date ( «D M j G:i:s T Y» ); // Sat Mar 10 17:16:18 MST 2001
$today = date ( ‘H:m:s \m \i\s\ \m\o\n\t\h’ ); // 17:03:18 m is month
$today = date ( «H:i:s» ); // 17:16:18
$today = date ( «Y-m-d H:i:s» ); // 2001-03-10 17:16:18 (формат MySQL DATETIME)
?>

Для форматирования дат на других языках вместо функции date() можно использовать метод IntlDateFormatter::format() .

Примечания

Замечание:

Для получения метки времени из строкового представления даты можно воспользоваться функцией strtotime() . Кроме того, некоторые базы данных имеют собственные функции для преобразования внутреннего представления даты в метку времени (например, функция MySQL » UNIX_TIMESTAMP).

Временную метку начала запроса можно получить из поля $_SERVER[‘REQUEST_TIME’] .

Смотрите также

  • DateTimeImmutable::__construct() — Возвращает новый объект DateTimeImmutable
  • DateTimeInterface::format() — Возвращает дату, отформатированную согласно переданному формату
  • gmdate() — Форматирует дату/время по Гринвичу
  • idate() — Преобразует локальное время/дату в целое число
  • getdate() — Возвращает информацию о дате/времени
  • getlastmod() — Получает время последней модификации страницы
  • mktime() — Возвращает метку времени Unix для заданной даты
  • IntlDateFormatter::format() — Форматирует значение даты/времени в виде строки
  • time() — Возвращает текущую метку системного времени Unix
  • Предопределённые константы даты и времени

User Contributed Notes

  • Функции даты и времени
    • checkdate
    • date_​add
    • date_​create_​from_​format
    • date_​create_​immutable_​from_​format
    • date_​create_​immutable
    • date_​create
    • date_​date_​set
    • date_​default_​timezone_​get
    • date_​default_​timezone_​set
    • date_​diff
    • date_​format
    • date_​get_​last_​errors
    • date_​interval_​create_​from_​date_​string
    • date_​interval_​format
    • date_​isodate_​set
    • date_​modify
    • date_​offset_​get
    • date_​parse_​from_​format
    • date_​parse
    • date_​sub
    • date_​sun_​info
    • date_​sunrise
    • date_​sunset
    • date_​time_​set
    • date_​timestamp_​get
    • date_​timestamp_​set
    • date_​timezone_​get
    • date_​timezone_​set
    • date
    • getdate
    • gettimeofday
    • gmdate
    • gmmktime
    • gmstrftime
    • idate
    • localtime
    • microtime
    • mktime
    • strftime
    • strptime
    • strtotime
    • time
    • timezone_​abbreviations_​list
    • timezone_​identifiers_​list
    • timezone_​location_​get
    • timezone_​name_​from_​abbr
    • timezone_​name_​get
    • timezone_​offset_​get
    • timezone_​open
    • timezone_​transitions_​get
    • timezone_​version_​get

    Источник

    PHP date_format() Function

    Return a new DateTime object, and then format the date:

    Definition and Usage

    The date_format() function returns a date formatted according to the specified format.

    Note: This function does not use locales (all output is in English).

    Tip: Also look at the date() function, which formats a local date/time.

    Syntax

    Parameter Values

    • d — The day of the month (from 01 to 31)
    • D — A textual representation of a day (three letters)
    • j — The day of the month without leading zeros (1 to 31)
    • l (lowercase ‘L’) — A full textual representation of a day
    • N — The ISO-8601 numeric representation of a day (1 for Monday, 7 for Sunday)
    • S — The English ordinal suffix for the day of the month (2 characters st, nd, rd or th. Works well with j)
    • w — A numeric representation of the day (0 for Sunday, 6 for Saturday)
    • z — The day of the year (from 0 through 365)
    • W — The ISO-8601 week number of year (weeks starting on Monday)
    • F — A full textual representation of a month (January through December)
    • m — A numeric representation of a month (from 01 to 12)
    • M — A short textual representation of a month (three letters)
    • n — A numeric representation of a month, without leading zeros (1 to 12)
    • t — The number of days in the given month
    • L — Whether it’s a leap year (1 if it is a leap year, 0 otherwise)
    • o — The ISO-8601 year number
    • Y — A four digit representation of a year
    • y — A two digit representation of a year
    • a — Lowercase am or pm
    • A — Uppercase AM or PM
    • B — Swatch Internet time (000 to 999)
    • g — 12-hour format of an hour (1 to 12)
    • G — 24-hour format of an hour (0 to 23)
    • h — 12-hour format of an hour (01 to 12)
    • H — 24-hour format of an hour (00 to 23)
    • i — Minutes with leading zeros (00 to 59)
    • s — Seconds, with leading zeros (00 to 59)
    • u — Microseconds (added in PHP 5.2.2)
    • e — The timezone identifier (Examples: UTC, GMT, Atlantic/Azores)
    • I (capital i) — Whether the date is in daylights savings time (1 if Daylight Savings Time, 0 otherwise)
    • O — Difference to Greenwich time (GMT) in hours (Example: +0100)
    • P — Difference to Greenwich time (GMT) in hours:minutes (added in PHP 5.1.3)
    • T — Timezone abbreviations (Examples: EST, MDT)
    • Z — Timezone offset in seconds. The offset for timezones west of UTC is negative (-43200 to 50400)
    • c — The ISO-8601 date (e.g. 2013-05-05T16:34:42+00:00)
    • r — The RFC 2822 formatted date (e.g. Fri, 12 Apr 2013 12:01:05 +0200)
    • U — The seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)

    and the following predefined constants can also be used (available since PHP 5.1.0):

    • DATE_ATOM — Atom (example: 2013-04-12T15:52:01+00:00)
    • DATE_COOKIE — HTTP Cookies (example: Friday, 12-Apr-13 15:52:01 UTC)
    • DATE_ISO8601 — ISO-8601 (example: 2013-04-12T15:52:01+0000)
    • DATE_RFC822 — RFC 822 (example: Fri, 12 Apr 13 15:52:01 +0000)
    • DATE_RFC850 — RFC 850 (example: Friday, 12-Apr-13 15:52:01 UTC)
    • DATE_RFC1036 — RFC 1036 (example: Fri, 12 Apr 13 15:52:01 +0000)
    • DATE_RFC1123 — RFC 1123 (example: Fri, 12 Apr 2013 15:52:01 +0000)
    • DATE_RFC2822 — RFC 2822 (Fri, 12 Apr 2013 15:52:01 +0000)
    • DATE_RFC3339 — Same as DATE_ATOM (since PHP 5.1.3)
    • DATE_RSS — RSS (Fri, 12 Aug 2013 15:52:01 +0000)
    • DATE_W3C — World Wide Web Consortium (example: 2013-04-12T15:52:01+00:00)

    Technical Details

    Источник

    date() – форматирование даты PHP

    date($format, $timestamp) – форматирует дату/время по шаблону, где:

    Результат работы функции зависит от настроек часового пояса, установить его можно следующем образом:

    Основные параметры шаблона

    Символ Описание Пример возвращаемого значения
    День
    j День месяца без ведущего нуля от 1 до 31
    d День месяца, 2 цифры с ведущим нулём от 01 до 31
    l Полное наименование дня недели от Sunday до Saturday
    D День недели, 3 символа от Mon до Sun
    z Порядковый номер дня в году От 0 до 365
    Неделя
    N Порядковый номер дня недели от 1 (понедельник)
    до 7 (воскресенье)
    W Порядковый номер недели года Например: 42 (42-я неделя года)
    Месяц
    n Порядковый номер месяца без ведущего нуля от 1 до 12
    m Порядковый номер месяца с ведущим нулём от 01 до 12
    F Полное название месяца от January до December
    M Сокращенное наименование месяца, 3 символа от Jan до Dec
    t Количество дней в месяце от 28 до 31
    Год
    Y Год, 4 цифры 2019
    y Год, 2 цифры 19
    Время
    g Часы в 12-часовом формате без ведущего нуля от 1 до 12
    h Часы в 12-часовом формате с ведущим нулём от 01 до 12
    G Часы в 24-часовом формате без ведущего нуля от 0 до 23
    H Часы в 24-часовом формате с ведущим нулём от 00 до 23
    i Минуты с ведущим нулём от 00 до 59
    s Секунды с ведущим нулём от 00 до 59
    v Миллисекунды 123
    Полная дата/время
    c Дата в формате ISO 8601 2004-02-12T15:19:21+00:00
    r Дата в формате RFC 2822 Thu, 21 Dec 2000 16:01:07 +0200

    дд.мм.ггг (dd.mm.yyyy)

    Самый распространенные форматы: dd.mm.yyyy и dd.mm.yyyy hh:ss .

    echo date('d.m.Y'); // 20.07.2023 echo date('d.m.Y H:i'); // 20.07.2023 19:04 echo date('d.m.Y H:i:s'); // 20.07.2023 19:04:45

    гггг-мм-дд (yyyy.mm.dd)

    Используется в MySQL тип поля DATE.

    Источник

    Читайте также:  Php вывести данные по дате
Оцените статью