Оглавление
date()
принимающая 2 параметра, формат даты (строка вида «d.m.Y» например) и Unix time метку времени. Если второй параметр не передать, функция возьмёт текущую метку на сервере где исполняется скрипт.
echo date('d.m.Y'); //19.01.2023
Результат работы функции зависит от настроек часового пояса, задать который можно функцией
date_default_timezone_set()
вот так:
date_default_timezone_set('Europe/Moscow');
Основные параметры шаблона функции date()
Символ | Описание | Пример возвращаемого значения |
---|---|---|
День | ||
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 |
Полный список доступных символов формата, вы найдёте в официальной документации по php.
Формат дд.мм.гггг (dd.mm.yyyy)
Пожалуй самые распространённые шаблоны форматов даты и времени являютсяdd.mm.yyyy
и dd.mm.yyyy hh:mm
, чтобы получить их передайте в date() следующий шаблон:
echo date('d.m.Y'); //19.01.2023
echo date('d.m.Y H:i'); //19.01.2023 23:32
echo date('d.m.Y H:i:s'); //19.01.2023 23:33:25 - можно добавить секунды для точности
Формат гггг-мм-дд (yyyy.mm.dd)
Используйте этот формат, если вы работаете с полями типаDATE
в MySQL
echo date('Y-m-d'); //2023-01-19
Формат гггг-мм-дд чч:мм:сс (yyyy-mm-dd hh.mm.ss)
Это так же относится к MySQL для полей типаDATETIME
echo date('Y-m-d H:i:s'); //2023-01-19 23:35:22
Дата в формате ISO 8601
echo date('c'); //2023-01-19T23:36:04+03:00
Дата в формате RFC 822
Формат как у RFC 2822, разница только в сокращенном годе. Обычно используется в RSS
// RFC 822
echo date(DATE_RFC822); // Thu, 19 Jan 23 23:38:08 +0300
// RFC 2822
echo date('r'); // Thu, 19 Jan 2023 23:38:08 +0300
Дата в формате RFC 3339
// RFC 3339
echo date(DATE_RFC3339); // 2023-01-19T23:24:53+03:00
// RFC 3339
echo date('Y-m-d\TH:i:sP'); // 2023-01-19T23:24:53+03:00
Дата с русским наименованием месяцев
В доступных форматах php date() нет возможности выводить русскоязычные названия месяцев. Однако, мы можем получить порядковый номер месяца, а следовательно, если подготовить массив с русскими названиями заранее, можно получить требуемый формат даты:$month = [
1 => 'января',
2 => 'февраля',
3 => 'марта',
4 => 'апреля',
5 => 'мая',
6 => 'июня',
7 => 'июля',
8 => 'августа',
9 => 'сентября',
10 => 'октября',
11 => 'ноября',
12 => 'декабря'
];
echo date('d') . ' ' . $month[date('n')] . ' ' . date('Y'); // 19 января 2023
И так, мы рассмотрели самые частые случаи использования функции форматирования даты и времени в php. Желаю удачи!