Описание
int mktime (int hour, int minute, int second, int month, int day, int year [, int is_dst])
Предупреждение!: Обратите внимание на необычный порядок аргументов, который отличается от порядка аргументов в обычном вызове UNIX mktime() и который не выстраивает параметры справа налево (см. далее). Обычной ошибкой является смешивание этих значений в скрипте.
Возвращает Unix timestamp, соответствующий заданным аргументам. Этот timestamp является длинным целым/long integer, содержащим количество секунд между началом Unix Epoch (January 1 1970) и специфицированным временем.
Аргументы могут быть пропущены в порядке справа налево; любой пропущенный аргумент получит текущее значение в соответствии с локальной датой и временем.
is_dst может быть установлен в 1, если это период с поправкой на летнее время, в 0 - если нет, или -1 (по умолчанию), если не известно, находится данное время в периоде с поправкой на летнее время или нет. Если это не известно, PHP пытается определить это сам. Это может привести к неожиданным (но не некорректным) результатам.
Примечание: is_dst был введён в версии 3.0.10.
mktime() используется для перевода даты в арифметическое значение и проверки, поскольку автоматически будет вычисляться корректное значение для ввода вне диапазона значений. Например, каждая из следующих строк произведёт строку "Jan-01-1998".Пример 1. mktime()
echo date ("M-d-Y", mktime (0,0,0,12,32,1997));
echo date ("M-d-Y", mktime (0,0,0,13,1,1997));
echo date ("M-d-Y", mktime (0,0,0,1,1,1998));
echo date ("M-d-Y", mktime (0,0,0,1,1,98));