Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
23.2. Функции даты и времени в PHPИз этого параграфа вы узнаете, как написать обычный скрипт для показа времени или более сложные скрипты, где будут использованы функции даты и времени вместе с календарными.
Checkdate Проверяет правильность Синтаксис: int checkdate (int month, int day, int year); Возвращает true, если данная дата правильна, иначе false. Проверяет правильность даты, заданной аргументами. Дата считается правильной, если: год между 1900 и 32 767 включительно; месяц между 1 и 12 включительно. День находится в диапазоне разрешенных дней данного месяца. Високосные годы учитываются. Date Формат локального времени/даты. Синтаксис: string date (string format, int timestamp); В форматной строке должны использоваться следующие символы: а — am или pm; А — AM или РМ; d — день месяца, цифровой, 2 цифры (на первом месте нуль); D — день недели, текстовый, 3 буквы, т. е. Fri; F — месяц, текстовый, длинный, т. е. January; h — час, цифровой, 12-часовой формат; Н—час, цифровой, 24-часовой формат; i — минуты, цифровой; j — день месяца, цифровой, без начальных нулей; l (строчная L) — текстовый длинный деньнедели, т. е. Friday; m — месяц цифровой; М — текстовый месяц, 3 буквы, т.е. Jan; s — секунды S — английский порядковый суффикс, текстовый, 2 символа, т. е. th, nd; U — секунды с начала века; Y — год, цифровой, 4 цифры; w — день недели, цифровой, 0 означает воскресенье; у — год, цифровой, 2 цифры; z — день года, цифровой, т. е. 299. Нераспознанные символы в форматной строке будут печататься, как есть. Пример 23.1. Использование функции date() print(date( "1 dS of F Yh:i:s A" )); print("July 1, 2000 is on a ". date("l", mktime(0,0,0,7,1,2000))); Функции date() mktime() возможно использовать вместе, для того чтобы найти в будущем или прошлом. Пример 23.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(). Strftime Форматирует локальное время согласно установкам locale. Синтаксис: string strftime(string format, int timestamp); Возвращает строку, отформатированную согласно данной форматной строке, используя данную временную метку или текущее локальное время, если метка не задана. Названия месяцев, недель и т. д., зависящие от языка строки и связанные с текущим locale, устанавливаются с помощью setlocale(). В форматной строке следует использовать следующие спецификаторы преобразований: %а — сокращенное название дня недели согласно текущему locale; %А — полное название дня недели согласно текущему locale; %B — сокращенное название месяца согласно текущему locale; %b — полное название месяца согласно текущему locale; %с — предпочтительное представление даты и времени для текущего locale; %d — день месяца как десятичное число (в диапазоне от 0 до 31); %Н — час как десятичное число в 24-часовом формате (в диапазоне от 00 до 23); %I — час как десятичное число в 12-часовом формате (в диапазоне от 01 до 12); %j — день года какдесятичное число (в диапазоне от 001 до 366); %m — месяц какдесятичное число (в диапазоне от 1 до 12); — минуты как %Р — am либо pm согласно текущему времени или соответствующие строки для текущего locale; %s — секунды какдесятичное число; %U — номер недели текущего года какдесятичное число начиная с первого воскресенья в качестве первого дня первой недели; %W — номер недели текущего года как десятичное число начиная с первого понедельника в качестве первого дня первой недели; %w — день недели как целое число, воскресенье — нулевой день; %X — предпочитаемое представление даты для текущего locale, не включающее время; %х — предпочитаемое представление временидля текущего locale, не включающее дату. %у — год как десятичное число без столетия (в диапазоне от 00 до 99); %Y — год как десятичное число, включая столетие; %Z — временная зона либо название или сокращение; %% — символ %. Пример 23.3. Использование функции strtime() setlocale ("LC__TIME", "С"); print(strftime("%А in Finnish is ")); setlocale ("LC_TIME", "fi"); print(strftime("%A, in French ")); setlocale("LC_TIME", "fr"); print (strftime ("%A and in German ")); setlocale("LCJTIME", "de"); print(strftime("%A.n")); Пример будет работать, если у вас установлены соответствующие locale. Getdate Получает информацию одате/времени. Синтаксис: array getdate(int timestamp); Возвращает ассоциативный массив, содержащий информацию о дате со следующими элементами: "seconds" — секунды; "minutes" — минуты; "hours" — часы; "mday" — день месяца; "wday" — день недели, цифровой; "mon" — месяц, цифровой; "year" — год, цифровой; "yday" — день года, цифровой, т.е. 299; "weekday" — день недели, текстовый, полный, т. е. Friday; "month" — месяц, текстовый, полный, т. е. January; Gmdate Форматирует GMT/CUT время/дату. Синтаксис: string gmdate (string format, int timestamp); Аналогичная функции date(), за исключением того, что время возвращается в Гринвичском формате Greenwich Mean Time (GMT). Например, при запуске в Финляндии (GMT + 0200) первая строка примера 23.4 напечатает «Jan 01 1998 00:00:00», В ТО время как вторая строка — «Dec 31 1997 22:00:00». Пример 23.4. Использование функции gmdate() echo date("M d Y H:i:s", mktime(0,0,0,1,1,1998)); gmdate("M d Y H:i:s", mktime(0,0,0,1,1,1998)); Mktime Получает временную метку UNIX для даты. Синтаксис: int mktime (int hour, int minute, int second, int month, int day, int year); ВНИМАНИЕ Обратите внимание на необычный порядок аргументов, который отличается от порядка аргументов в вызове функции mktime() из UNIX и выдает ошибку при неправильно заданных параметрах (см. ниже). Это очень часто встречающаяся ошибка в скриптах. Mktime Возвращает временную метку Unix согласно данным аргументам. Эта временная метка является целым числом, равным количеству секунд между точкой отсчета Unix (1 января 1970 г.) и указанным временем. Аргументы могут быть опущены справа налево; каждый опущенный таким образом аргумент будет установлен в текущую величину согласно локальной дате и времени. Mktime полезна при арифметических действиях с датой и ее проверкой, она автоматически вычисляет корректную величину для вышедших за границы параметров. Например, каждая из следующих строк возвращает строку «Jan-01-1998». Пример 23.5. Применение функции 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) ); Gmmktime Получает временную метку UNIX для даты в GMT. Синтаксис: int gmmktime (int hour, int minute, int second, int month, int day, int year); Идентична mktime(), за исключением передаваемых параметров, представляющих дату в GMT. Time Возвращает текущую временную метку UNIX. Синтаксис: int time (void) ; Возвращает текущее время, измеренное в секундах с эпохи Unix (1 января 1970 г. 00:00:00 GMT). Microtime Возвращает текущую временную метку в микросекундах. Синтаксис: string microtime(void); Возвращает строку «msec sec», где sec — текущее время, измеренное в секундах с эпохи Unix (1 января, 1970 г. 00:00:00 GMT), a msec — часть в микросекундах. Эти функции доступны только в операционных системах, поддерживающих системный вызов gettimeofday().
|
1 |
Оглавление
|