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) ); // неправильная дата
Выводит три одинаковых числа
gmmktime
Аналог функции time() для времени GMT.
Синтаксис:
int gmmktime(int hour, int minute, int second, int month, int day, int year [, int is_dst]);
Идентична mktime() за исключением того, что передаваемые параметры передают время по Гринвичу (GMT).
time
Получение времени в секунадх.
Синтаксис:
int time();
Возвращает текущее время, измеренное в числе секунд с эпохи Unix (1 Января 1970 00:00:00 GMT).
Этот формат данных принят в Unix как стандартный (называется "UNIX timestamp"): в частности, время последнего изменения файлов указывается именно в таком формате. Вообще говоря, почти все функции по работе со временеи имеют дело именно с таким его представлением (которое называется timestamp). То есть представление " количество секунд с 1 января 1970 года" весьма универсально и, что главное, - удобно.
echo time();
microtime
Возвращает текущую временную метку UNIX в микросекундах.
Синтаксис:
string microtime();
Возвращает строку "msec sec" где sec текущее время, измеренное в числе секунд с эпохи Unix (0:00:00 1 Января, 1970 GMT), а msec - это часть в микросекундах. Эти функции доступны только в операционных системах, поддерживающих системный вызов gettimeofday().
Но дело в том, что милисекунды в различных OC выглядят по разному. Например в Unix это действительно число микросекунд, а в Windows - непонятное значение.
echo microtime(); // в Windows выведет что-то типа 0.53033200 1012468870
strtotime
Лексическое преобразование строки времени в Unix timestamp.
Синтаксис:
int strtotime(string time [, int now]);
В аргументе time функция получает дату в англоязычном формате, а затем преобразует ее в целочисленный формат Unix timestamp.
echo strtotime("now")."n";echo strtotime("10 September 2002")."n";echo strtotime("+2 day")."n";echo strtotime("+3 week")."n";echo strtotime("+1 week 2 days 4 hours 34 seconds")."n";
Логические функции определения типа переменной
is_scalar
Проверяет, является ли переменная простой.
Синтаксис:
bool is_scalar(mixed var)
Возвращает true, если var имеет скалярный тип (чила, строки, логические значения), но не комплексный (массивы или объекты).
is_null
Проверяет, является ли переменная пустой.
Синтаксис:
bool is_null(mixed var)
Возвращает true, если var не существует (или ей явно присвоено пустое значение null). Функция эквивалентна выражению:(var===null или is_set(var)
is_numeric
Проверяет, является ли переменная числовой.
Синтаксис:
bool is_numeric(mixed var)
Возвращает true, если var имеет численный тип (integer, double), или строковой с числовым значением.
is_bool
Проверяет, является ли переменная логической.
Синтаксис:
bool is_bool(mixed var)
Возвращает true, если var имеет тип логического значения (TRUE или FALSE), а иначе - false.
is_int
Определяет, является ли переменная типа integer(целочисленной).
Синтаксис:
bool is_int(mixed var);
Возвращает true, если var имеет целочисленный тип.
is_integer
Определяет, является ли переменная типа integer.
Синтаксис:
bool is_integer(mixed var);
Возвращает true, если var является типа integer (целочисленной), или false в обратном случае.
is_long
Определяет, является ли переменная типа integer(целочисленной).
Синтаксис:
bool is_long(mixed var);
Возвращает true, если var имеет целочисленный тип (integer, long), или false в обратном случае.
is_real
Определяет, является ли переменная типа real (дробной).
Синтаксис:
bool is_real(mixed var);
Возвращает true, если var типа real (дробная), или false в обратном случае.
is_float
Определяет, является ли переменная типа float (дробная).
Синтаксис:
bool is_float(mixed var);
Возвращает true, если var типа float (дробная), или false в обратном случае.
is_double
Определяет, является ли переменная типа double (дробная).
Синтаксис:
bool is_double(mixed var);
Возвращает true, если var является типа double (дробной), или false в обратном случае.