int checkdate
(int month, int day, int year);
Возвращает true если данная дата правильна, иначе false. Проверяет правильность даты, заданной аргументами. Дата считается правильной, если:
год между 1900 и 32767 включительно
месяц между 1 и 12 включительно
день находится в диапазоне разрешенных дней данного месяца. Високосные годы учитываются.
string date
(string format, int timestamp);
Возвращает строку, отформатированную согласно данной строке и используя данную временную метку или текущее локальное время, если не задана временная метка.
В фоматной строке должны использоваться следующие символы:
a - "am" или "pm"
A - "AM" или "PM"
d - день месяца, цифровой, 2 цифры (на первом месте ноль)
D - день недели, текстовый, 3 буквы; т.е. "Fri"
F - месяц, текстовый, длинный; т.е. "January"
h - час, цифровой, 12-часовой формат
H - час, цифровой, 24-часовой формат
i - минуты, цифровой
j - день месяца, цифровой, без начальных нулей
l (строчная 'L') - день недели, текстовый, длинный; т.е. "Friday"
m - месяц, цифровой
M - месяц, текстовый, 3 буквы; т.е. "Jan"
s - секунды, цифровой
S - английский порядковый суффикс, текстовый, 2 символа; т.е. "th", "nd"
U - секунды с начала века
Y - год, цифровой, 4 цифры
w - день недели, цифровой, 0 означает воскресенье
y - год, цифровой, 2 цифры
z - день года, цифровой; т.е. "299"
Пример 1. Пример date() print(date( "l dS of F Y h:i:s A" )); print("July 1, 2000 is on a " . date("l", mktime(0,0,0,7,1,2000))); |
Функции date() и mktime() возможно использовать вместе для того, чтобы найти даты в будущем или прошлом.
Пример 2.Пример функций date() и mktime() $tomorrow = mktime(0,0,0,date("m") ,date("d")+1,date("Y")); $lastmonth = mktime(0,0,0,date("m")-1,date("d"), date("Y")); $nextyear = mktime(0,0,0,date("m"), date("d", date("Y")+1); |
Для того, чтобы отформатировать даты на других языках, Вы должны использовать функции setlocale() и strftime()
string strftime
(string format, int timestamp);
Возвращает строку, отформатированную согласно данной форматной строке и используя данную временную метку или текущее локальное время, если метка не задана. Названия месяцев и недель и другие, зависящие от языка строки, зависят от текущего locale, устанавливающегося с помощью setlocale() .
В форматной строке следует использовать следующие спецификаторы преобразований:
%a - сокращенное название дня недели согласно текущему locale
%A - полное название дня недели согласно текущему locale
%b - сокращенное название месяца согласно текущему locale
%B - полное название месяца согласно текущему locale
%c - предпочтительное представление даты и времени для текущего locale
%d - день месяца как десятичное число (в диапазоне от 0 до 31)
%H - час как десятичное число в 24-часовом формате (в диапазоне от 00 до 23)
%I - час как десятичное число в 12-часовом формате (в диапазоне от 01 до 12)
%j - день года как десятичное число (в диапазоне от 001 до 366)
%m - месяц как десятичное число (в диапазоне от 1 до 12)
%M - минуты как десятичное число
%p - `am' или `pm' согласно текущему времени, или соответствующие строки для текущего locale
%S - секунды как десятичное число
%U - номер недели текущего года как десятичное число, начиная с первого Воскресенья в качестве первого дня первой недели
%W - номер недели текущего года как десятичное число, ночиная с первого Понедельника в качестве первого дня первой недели
%w - день недели как целое число, Воскресенье - 0-й день
%x - предпочитаемое представление даты для текущего locale не включающее время
%X - предпочитаемое представление времени для текущего locale не включающее дату
%y - год как десятичное число без столетия (в диапазоне от 00 до 99)
%Y - год как десятичное число, включая столетие
%Z - временная зона или название или сокращение
%% - символ `%'
Пример 1. Пример функции strftime() setlocale ("LC_TIME", "C"); print(strftime("%A in Finnish is ")); setlocale ("LC_TIME", "fi"); print(strftime("%A, in French ")); setlocale ("LC_TIME", "fr"); print(strftime("%A and in German ")); setlocale ("LC_TIME", "de"); print(strftime("%A.\n")); |
См.также setlocale() и mktime() .
array getdate
(int timestamp);
Возвращает ассоциативный массив, содержащий информацию о дате со следующими элементами:
"seconds" - секунды
"minutes" - минуты
"hours" - часы
"mday" - день месяца
"wday" - день недели, цифровой
"mon" - месяц, цифровой
"year" - год, цифровой
"yday" - день года, цифровой; т.е. "299"
"weekday" - день недели, текстовый, полный; т.е. "Friday"
"month" - месяц, текстовый, полный; т.е. "January"
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".
Пример 1. пример gmdate() echo date( "M 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() .
int mktime
(int hour, int minute, int second, int month, int day, int year);
Предупреждение: Обратите внимание на необычный порядок аргументов, который отличается от порядка аргументов в вызове функции mktime() из UNIX, и который нехорошо ведет себя при неправильно заданных параметрах (см.ниже). Это очень часто встречающаяся ошибка в скриптах.
Возвращает временную метку Unix согласно данным аргументам. Эта временная метка является целым числом, равным количеству секунд между эпохой Unix (1 Января 1970) и указанным временем.
Аргументы могут быть опущены с права налево; каждый опущенный таким образом аргумент будет установлен в текущую величину согласно локальной дате и времени.
MkTime is useful for doing date arithmetic and validation, as it 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) ); |
int gmmktime
(int hour, int minute, int second, int month, int day, int year);
Идентична mktime() за исключением передаваемых параметров, представляющих дату в GMT.
int time
(void);
Возвращает текущее время, измеренное в числе секунд с эпохи Unix (1 Января 1970 00:00:00 GMT).
См.также date() .
string microtime
(void);
Возвращает строку "msec sec" где sec текущее время, измеренное в числе секунд с эпохи Unix (0:00:00 1 Января, 1970 GMT), а msec - это часть в микросекундах. Эти функции доступны только в операционных системах, поддерживающих системный вызов gettimeofday().
См.также time() .