| |
символами форматирования:
r U — количество секунд, прошедших с полуночи 1 января 1970 года;
r z — номер дня от начала года;
r Y — год, 4 цифры;
r y — год, 2 цифры;
r F — название месяца, например, January;
Часть IV. Стандартные функции PHP 282
r m — номер месяца;
r M — название месяца, трехсимвольная аббревиатура, например, Jan;
r d — номер дня в месяце, всегда 2 цифры (первая может быть 0);
r j — номер дня в месяце без предваряющего нуля;
r w — день недели, 0 соответствует воскресенью, 1 — понедельнику, и т. д.;
r l — день недели, текстовое полное название, например, Friday;
r D — день недели, английское трехсимвольное сокращение, например, Fri;
r a — am или pm;
r A — AM или PM;
r h — часы, 12-часовой формат;
r H — часы, 24-часовой формат;
r i — минуты;
r s — секунды;
r S — английский числовой суффикс (nd, th и т. д.).
Те символы, которые не были распознаны как форматирующие, подставляются в ре-
зультирующую строку "как есть". Впрочем, не советую этим злоупотреблять, по-
скольку довольно мало английских слов не содержат ни одной из перечисленных вы-
ше букв.
Как видите, набор символов форматирования весьма и весьма богат. Вот пример
применения функции date():
echo date("l dS of F Y h:i:s A");
echo date("Сегодня d.m.Y");
echo date("Этот файл датирован d.m.Y",filectime("myfile"));
Остается еще отметить, что формат выдачи для таких символов, как F (название
ме-
сяца), зависит от текущих настроек локали (см. функцию setlocale()) и вполне
может быть названием месяца на родном языке пользователя.
int checkdate(int $month, int $day, int $year)
Эта функция проверяет, существует ли дата, переданная ей в параметрах: вначале
ищется месяц, затем — день, и, наконец, — год. Конкретнее, checkdate() проверя-
ет следующее:
r год должен быть между 1900 и 32 767 включительно;
r месяц обязан принадлежать диапазону от 1 до 12;
r число должно быть допустимым для указанного месяца и года (если год високос-
ный).
Глава 19. Работа с датами и временем 283
Функция очень полезна, например, при автоматическом формировании HTML-
календарика для указанного месяца и года. В самом деле, мы можем определить,
ка-
кие числа в месяце "не существуют", и для них вместо номера проставить пустое
ме-
сто.
array getdate(int $timestamp)
Возвращает ассоциативный массив, содержащий данные об указанном времени. В
массив будут помещены следующие ключи и значения:
r seconds — секунды;
r minutes — минуты;
r hours — часы;
r mday — число;
r wday — день недели, число;
r mon — номер месяца;
r year — год;
r yday — номер дня с начала года;
r weekday — полное название дня недели, например, Friday;
r month — полное название месяца, например, January.
В общем-то, всю эту информацию можно получить и с помощью функции date(), но
тут разработчики PHP предоставляют нам альтернативный способ.
Григорианский календарь
Григорианский календарь — это как раз тот самый календарь, который мы постоянно
используем в своей жизни. В России он был введен Петром I в 1700 году.
Описываемые далее три функции представляют большой интерес, если вам понадо-
бится автоматически формировать календари в сценариях. Все они имеют дело с так
называемым Julian Day Count (JDC). Что это такое?
Каждой дате соответствует свой JDC. Ведь, фактически, JDC — это всего лишь
число
дней, прошедших с определенной даты (кажется, где-то с 4714-го года до нашей
эры).
Зачем это нужно? Например, нам заданы две даты в формате "дд.мм.гггг". Нужно
вычислить количество дней между этими датами. Поставленная задача как раз легко
решается через перевод обеих дат в JDC и определение разности получившихся
вели-
чин.
int GregorianToJD(int $month, int $day, int $year)
Преобразует дату в формат JDC. Допустимые значения года для григорианского ка-
лендаря — от 4714 года до нашей эры до 9999 года нашей эры.
string JDToGregorian(int $julianday)
Часть IV. Стандартные функции PHP 284
Преобразует дату в формате JD
|
|