Функции даты и времени PHP

Функция date

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

Вот эти команды:

  • 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

<?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'); ?>