Функции даты и времени PHP
Функция date
Функция date выводит текущую дату
и время в заданном формате. Формат задается
управляющими командами (английскими буквами),
при этом можно вставлять любые разделители
между ними (дефисы, двоеточие и так далее).
Вот эти команды:
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
<?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'
?>
Функция time
Функция time возвращает разницу в
секундах между 1-го января 1970
года и текущим моментом времени. Такое представление
даты называется форматом timestamp. С помощью
функции time мы можем получить только текущий
момент времени. Чтобы получить timestamp
за любую дату следует использовать функцию
mktime. Смотрите пример:
<?php
echo mktime(12, 43, 59, 1, 31, 2017);
?>
Функция mktime
Функция mktime возвращает timestamp
за заданный момент времени. Синтаксис такой:
часы, минуты, секунды, день, месяц, год.
Давайте получим timestamp за 31.01.2017
12:43:59:
<?php
echo mktime(12, 43, 59, 1, 31, 2017);
?>
Функция strtotime
Функция strtotime - это аналог функции mktime
(тоже возвращает timestamp), только в отличие
от нее принимает дату в более свободном формате.
Что можно делать еще: можно написать так
- strtotime('now') - и мы получим
текущий момент времени, или так - strtotime('next
Monday') - и мы получим следующий понедельник
(Monday по-английски 'понедельник').
Смотрите пример:
<?php
echo strtotime('now');
echo strtotime('10 September 2000');
echo strtotime('+1 day');
echo strtotime('+1 week');
echo strtotime('+1 week 2 days 4 hours 2 seconds');
echo strtotime('next Thursday');
echo strtotime('last Monday');
?>