# Функция date

Функция `date` выводит дату в заданном формате. Первым параметром функция принимает формат, а вторым необязательным параметром - момент времени в формате timestamp. Если второй параметр не указан - возьмется текущий момент времени, если указан - то заданный.

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

Функция принимает следующие команды (заглавные буквы отличаются от обычных, обратите внимание):

- `U` – количество секунд, прошедших с `1` января `1970` года (то есть timestamp).
- `z` – номер дня от начала года.
- `Y` – год, `4` цифры.
- `y` - год, две цифры.
- `m` – номер месяца (с нулем спереди).
- `n` – номер месяца без нуля впереди.
- `d` – номер дня в месяце, всегда две цифры (то есть первая может быть нулем).
- `j` – номер дня в месяце без предваряющего нуля.
- `w` – день недели (0 - воскресенье, 1 - понедельник и т.д.).
- `h` – часы в `12`-часовом формате.
- `H` – часы в `24`-часовом формате.
- `i` – минуты.
- `s` – секунды.
- `L` – `1`, если високосный год, `0`, если не високосный.
- `W` – порядковый номер недели года.
- `t` – количество дней в указанном месяце.

## Синтаксис

`date(формат, [момент времени в формате timestamp]);`

## Примеры работы с date

`<?php // Все примеры показаны для даты 01.06.2013 в 12.23.59, понедельник echo date('Y'); // выведет '2013' echo date('y'); // выведет '13' echo date('m'); // выведет '06' - номер месяца echo date('d'); // выведет '01' - номер дня в месяце echo date('j'); // выведет '1' - номер дня в месяце (без нуля спереди) echo date('w'); // выведет '1' - понедельник echo date('H'); // выведет '12' - часы echo date('i'); // выведет '23' - минуты echo date('s'); // выведет '59' - секунды echo date('d-m-Y'); // выведет '01-06-2013' echo date('d.m.Y'); // выведет '01.06.2013' echo date('H:i:s d.m.Y'); // выведет '12:23:59 01.06.2013' ?>`

## Второй параметр функции date

Функция `date` имеет второй необязательный параметр, который принимает момент времени в формате timestamp. Если передать этот параметр, то функция date отформатирует не текущий момент времени, а тот, который передан вторым параметром. Этот `timestamp` можно получить, к примеру, через `mktime` (но не обязательно):

`<?php echo date('d-m-Y', mktime(0, 0, 0, 12, 29, 13)); // выведет '29-12-2013' ?>`

Этим можно воспользоваться, чтобы узнать номер дня недели за определенную дату - просто передадим ее вторым параметром с помощью функции `mktime`, а первым параметром поставим управляющий символ `'w'`:

`<?php // Узнаем какой день недели был 29-12-2013: echo date('w', mktime(0, 0, 0, 12, 29, 13)); // выведет '0' - воскресенье ?>`

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

- функцию `mktime`,
  которая возвращает момент времени в формате timestamp

←→
↑