Работа с датами
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 предоставляют нам альтернативный способ.