САМОУЧИТЕЛЬ PHP 4

Работа с датами


string date(string $format [,int $timestamp])

Эта функция крайне полезна и весьма универсальна. Она возвращает строку, отформатированную в соответствии с параметром $format и сформированную на основе параметра $timestamp (если последний не задан— то на основе текущей даты). Строка формата может содержать обычный текст, перемежаемый одним или несколькими символами форматирования:

r    U — количество секунд, прошедших с полуночи 1 января 1970 года;

r    z — номер дня от начала года;

r    Y — год, 4 цифры;

r    y — год, 2 цифры;

r    F — название месяца, например, January;

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    число должно быть допустимым для указанного месяца и года (если год високосный).

Функция очень полезна, например, при автоматическом формировании 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 предоставляют нам альтернативный способ.


Содержание раздела