Дата и время
time
Получение времени в секундах (UNIX timestamp)
int time(void);
Возвращаемое значение равняется числу секунд, прошедших с момента начала «Эпохи Unix» (1 января, 1970, 00:00:00 GMT). Этот формат называется «UNIX timestamp».
echo time(); // выводит, например: 987972956
См. также date().
microtime
Получение в строке текущей метки времени «UNIX timestamp»
string microtime(void);
Возвращает строку формата «msec sec», где sec — текущее время, измеренное в целых секундах с момента начала «Эпохи Unix » (0:00:00, 1 января, 1970 GMT), a msec — это микросекундная часть. Эта функция доступна только на системах, имеющих системную функцию gettimeofday().
echo microtime(); // выводит, например 0.85738800 98772251
См. также time().
getdate
Получение даты и времени в массиве array getdate (Int timestamp)
Возвращает ассоциативный массив, содержащий информацию о дате и времени, полученную в целочисленном аргументе timestamp, с разделением на следующие элементы:
print_r (getdate (time())),
Выводит следующее:
Array ( [seconds] => 50 [minutes] => 55 [hours] => 13 [mday] => 16 [wday] => 0 [mon] => 4 > [year] => 2008 [yday] => 299 [weekday] => Sunday [month] => Apn 1 [0] => 987414950 )
localtime
Получение времени/даты в массиве
array localtime ([int timestamp [, bool is_associative]])
Первый аргумент функции timestamp — метка времени UNIX, если он не указывается, то используется текущее время. Если второй аргумент (is_associative) равен 0 (это же значение используется по умолчанию), то возвращаемый массив будет численно индексирован; в противном случае возвращается ассоциативный массив, где элементы имеют следующее значение:
([1]). «tm_sec» — секунды;
([2]). «tmjrnn» — минуты;
([3]). «tm_hour» — часы;
([4]). «tmjnday» — день месяца;
([5]). «tmjnon» — месяц в году;
([6]). «tm_year» — год (не совместимый с 2000);
([7]). «tm_wday» — день недели;
([8]). «tm_yday» — день в году;
([9]). «tm_isdst» — активен ли переход на летнее время.
gettimeofday
Получение даты системным вызовом array gettimeofday (void)
Возвращает ассоциативный массив, содержащий дату, возвращенную системным вызовом. Функция является интерфейсом системной функции gettimeofday(2). Массив содержит следующие элементы:
checkdate
Проверка даты на соответствие григорианскому календарю
int checkdate (int month, int day, int year)
Возвращает TRUE, если дата, указанная как «month, day, year» («месяц», «число», «год»), допустима, иначе возвращает FALSE. При проверке принимаются в расчет:
date
Получение даты в форматированной строке
string date (string format [, int timestamp])
Возвращает строковое значение даты и времени, извлеченное из упакованного в целочисленном аргументе значения timestamp. (Если аргумент timestamp не указан, то используются текущие дата и время.)
При этом возвращаемая строка форматируется согласно указанному в строковом аргументе format значению, которое может состоять из следующих символов, заменяемых на временные компоненты:
Все остальные символы в строковом аргументе format возвращаются в результирующей строке «как есть». Формат «Z» всегда возвращает «О» при использовании с функцией gmdate().
print (date ("1 dS of F Y h.i.s A")); //выводит: Monday 21th of April 2007 01:33:43 PM Дата и время 141 print ("1-е Июля. 2000 года - это: " . date ("I". mktime(0.0.0,7.1.2000))). //выводит: 1-е Июля. 2222 года - это- Saturday Stomorrow = mktime (O.O.O.dateC'm") .date("d")+l.date("Y")). Slastmonth = mktime (0.0.0.date("m")-l.date("d"). dateC'Y")); Snextyear = mktime (O.O.O.dateC'm"), dateC'd"). date("Y")+l):
Для форматирования дат в других языках используйте функции setlocale() и strftime().
См. также: gmdate() и mktime().
gmdate
Аналог функции date() для времени GMT
string gmdate (string format, int timestamp)
Функция подобна date(), за исключением того, что возвращается время по Гринвичу (Greenwich Mean Time — GMT). Например, при запуске в Финляндии (GMT +0200) первая строка напечатает «Jan 01 1998 00:00:00», а вторая: «Dec 31 1997 22:00:00».
echo date ("К d Y H:i.s". mktime (0.0.0.1.1.1998)): echo gmdate ("M d Y H.i s". mktime (0.0.0.1.1.1998)).
См. также: date(), mktime() и gmmktime().
strftime
Получение форматированной строки времени с использованием локальных установок
string strftime (string format [, int timestamp])
Возвращает строку согласно формату, указанному в аргументе format, для указанной в аргументе timestamp метки времени (если метка времени не указывается, то используется текущее время). Язык, на котором выводятся названия месяцев и дней, устанавливается функцией set!оса!е(). В строке формата распознаются следующие спецификаторы:
setlocale ("LCJIME". "С"): print (strftime ("%/\ in Finnish is ")). setlocale ("LCJIME". "fi_FI"): print (strftime ("3LA. in French ")): setlocale ("LCJIME". "fr_CA"); print (strftime ("$A и in German ")); setlocale ("LCJ-IME". "de_DE"). print (strftime ("ЛАЛп")):
Этот пример будет работать, если ваша система поддерживает соответствующие национальные установки. И не забывайте, не все системы поддерживают весь набор спецификаторов формата.
См. также: setlocale(), mktime() и «Open Group specification of strftime()» (http://www.opengroup.org/onlinepubs/7908799/xsh/strftime.htmL).
gmstrftime
Форматирование локальных времени/даты
string gmstrftime (string format, int timestamp)
Действие функции подобно strftimeO с тем отличием, что возвращается время по Гринвичу (GMT). Например, при запуске в зоне (GMT -0500) первая строка будет следующей: «Dec 31 1998 20:00:00», а вторая: «Jan 01 1999 01:00:00».
setlocale ('LCJIME'. 'en_US'). echo strftime ("%b Ы *Y *H:ZM:ZS". mktime (20.0.0.12 31.98)),"\n' . echo gmstrftime ("*b *d *Y XOM-XS". mktime (20.C.0.12 31.98))."\n";
См. также strftime().
mktime
Преобразование времени в целочисленный формат
int mktime ( int hour, int minute, int second, int month, int day, int year [, int is_dst])
Аргументы функции должны быть указаны в порядке: «час, минута, секунда, месяц, день, год, коррекция_времени>>, что часто путают. Не указывать можно только последний аргумент is_dst (при неуказании большего числа аргументов справа вместо них будут подставляться значения текущего времени). Функция возвращает метку времени «Unix timestamp», соответствующую указанным дате и времени (это целое число секунд, прошедших с 1 января 1970 года).
Аргумент is_dst, указывает, осуществлен ли переход на летнее время (1) или нет (0); если это неизвестно, то аргумент — (-1).
Функция полезна при вычислении дат и их проверке, так как она автоматически корректирует время при неправильном указании временных границ. Например, все следующие строки напечатают: «Jan-01-1998».
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)):
Год может быть указан двумя (0-69 означают 2000-2069 и 70-99 означают 1970-1999) или четырьмя цифрами.
Последний день месяца может быть указан как нулевой следующего (но не как -1). Следующие строки выведут: «Последнее число Февраля 2000: 29».
Slastday • mktime (0.0.0.3.0.2000). echo strftime ("Последнее число Февраля 2000: И". Slastday). Slastday - mktime (0 0.0.4.-31.2000): echo strftime ("Последнее число Февраля 2000: Id", Slastday):
Даты, в которых год, месяц или день равны нулю, считаются недопустимыми (в таком случае, это будет дата: 30.11.1999).
См. также: date ()и tirae().
gmmktime
Аналог функции time для времени GMT
int gmmktime (int hour, int minute, int second, int month, int day, int year [, int is_dst])
Функция подобна mktime(), за исключением того, что передаваемые параметры представляют время по Гринвичу (GMT).
См. также gmdate().
strtotime
Лексическое преобразование строки времени в «UNIX timestamp» int strtotime (string time [, int now])
Функция ожидает получить дату time в англоязычном формате, чтобы преобразовать ее в целочисленный формат «UNIX timestamp».
echo strtotime ("now") . "\n"; echo strtotime ("10 September 2000") "\n"; echo strtotime ("+1 day") . "\n" echo strtotime ("+1 week") . "\n"; echo strtotime ("+1 week 2 days 4 hours 2 seconds") . "\n":