Функции для работы с датой и временем.
Эти функции позволяют получить текущее время на сервере, на котором исполняется скрипт. Кроме того, что получить, время можно представить в различных форматах, посчитать разницу между двумя моментами времени и даже узнать время восхода солнца в определенной местности в тот или иной день! Посмотрим основные из этих функций.
bool checkdate ( int $month, int $day, int $year )
Возвращает TRUE если дата, заданная аргументами, является правильной; иначе возвращает FALSE. Дата считается правильной, если:
год в диапазоне от 1 до 32767 включительно
месяц в диапазоне от 1 до 12 включительно
day является допустимым номером дня для месяца, заданного аргументом month, принимая во внимание,что year может задавать високосный год.
array date_parse ( string $date )
Возвращает ассоциативный массив с информацией о дате $date. Массив содержит год, день, месяц, часы, минуты, секунды и еще что-то интересное.
array date_sun_info ( int $time, float $latitude, float $longitude )
Возвращает массив с временем восхода, захода солнца, продолжительности светового дня и пр..
Аргументы - метка времени, которую можно, например из строки получить функцией datetotime($str). Или функцией time() - текущее время.
string date ( string $format [, int $ timestamp ] )
Возвращает время, отформатированное в соответствии с аргументом format, используя метку времени, заданную аргументом timestamp или текущее системное время, если timestamp не задан.
Формат - это строка, содержащая символы форматирования. И обычные символы тоже. Обычные выводятся как есть, а символы форматирования заменяются соответствующими значениями:
Символ в строке format Описание Пример возвращаемого значения
a Ante meridiem или Post meridiem в нижнем регистре am или pm
A Ante meridiem или Post meridiem в верхнем регистре AM или PM
B Время в стандарте Swatch Internet От 000 до 999
c Дата в формате ISO 8601 (добавлено в PHP 5) 2004-02-12T15:19:21+00:00
d День месяца, 2 цифры с ведущими нулями от 01 до 31
D Сокращенное наименование дня недели, 3 символа от Mon до Sun
F Полное наименование месяца, например January или March от January до December
g Часы в 12-часовом формате без ведущих нулей От 1 до 12
G Часы в 24-часовом формате без ведущих нулей От 0 до 23
h Часы в 12-часовом формате с ведущими нулями От 01 до 12
H Часы в 24-часовом формате с ведущими нулями От 00 до 23
i Минуты с ведущими нулями 00 to 59
I (заглавная i) Признак летнего времени 1, если дата соответствует летнему времени, иначе 0 otherwise.
j День месяца без ведущих нулей От 1 до 31
l (строчная 'L') Полное наименование дня недели От Sunday до Saturday
L Признак високосного года 1, если год високосный, иначе 0.
m Порядковый номер месяца с ведущими нулями От 01 до 12
M Сокращенное наименование месяца, 3 символа От Jan до Dec
n Порядковый номер месяца без ведущих нулей От 1 до 12
O Разница с временем по Гринвичу в часах Например: +0200
r Дата в формате RFC 2822 Например: Thu, 21 Dec 2000 16:01:07 +0200
s Секунды с ведущими нулями От 00 до 59
S Английский суффикс порядкового числительного дня месяца, 2 символа st, nd, rd или th. Применяется совместно с j
t Количество дней в месяце От 28 до 31
T Временная зона на сервере Примеры: EST, MDT ...
U Количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970, 00:00:00 GMT) См. также time()
w Порядковый номер дня недели От 0 (воскресенье) до 6 (суббота)
W Порядковый номер недели года по ISO-8601, первый день недели - понедельник (добавлено в PHP 4.1.0) Например: 42 (42-я неделя года)
Y Порядковый номер года, 4 цифры Примеры: 1999, 2003
y Номер года, 2 цифры Примеры: 99, 03
z Порядковый номер дня в году (нумерация с 0) От 0 до 365
Z Смещение временной зоны в секундах. Для временных зон западнее UTC это отрицательное число, восточнее UTC - положительное. От -43200 до 43200
int time ( void )
Возвращает количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970, 00:00:00 GMT) до текущего времени.