Выбрать главу

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 в обратном случае.