Функция date в PHP
Функция 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
количество дней в указанном месяце
Синтаксис
<?php
date(формат, [момент времени в формате timestamp]);
Пример
<?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' - воскресенье