Функции даты и времени 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');
?>