Функция date

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

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

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

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