Функция 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