mktime

Получает временную метку UNIX для даты.

Синтаксис:

int mktime([int hour] [,int minute] [,int second] [,int month] [,int day] [,int year] [, int is_dst]);

Возвращает временную метку Unix согласно данным аргументам. Эта временная метка является целым числом, равным количеству секунд между эпохой Unix (1 Января 1970) и указанным временем.

Все парамеры это функции необязательны, но пропускать их можно только справо налево. Если какие-то параметры не заданы, на их место подставляются значения, соответствующие текущей дате.

Аргумент is_dst, указывает, осуществлен ли переход на летнее время (1) или нет (0); если не известно, то аргумент - (-1)

Функция возвращает timestamp, соответствующий указанной дате.

Правильность даты, переданной в параметрах, не проверяется. В случае некорректной даты ничего особенного не происходит - функция "делает вид", что ее не касается, и формирует соответствующий timestamp.

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) ); // правильная дата

Выводит три одинаковых числа