Функції для роботи з датою і часом
Ці функції дозволяють отримати поточний час сервера, на якому виконується скрипт. Крім того час можна представити в різних форматах, порахувати різницю між двома моментами часу і навіть дізнатися час сходу сонця в певній місцевості в той чи інший день!
Розберемо основні з цих функцій.
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 до December |
g |
Годинник у 12-годинному форматі без ведучих нулів |
Від 1 до 12 |
G |
Годинник у 24-годинному форматі без ведучих нулів |
Від 0 до 23 |
h |
Годинник у 12-годинному форматі з провідними нулями |
Від 01 до 12 |
H |
Годинник у 24-годинному форматі з провідними нулями |
Від 00 до 23 |
i |
Хвилини з передуючим нулем |
Від 00 до 59 |
I |
Ознака літнього часу |
1, якщо дата відповідає літньому часу, інакше 0 |
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 |
Англійський суфікс порядкового числівника дня місяця. Застосовується спільно з j |
2 символи st, nd, rd або th |
t |
Кількість днів місяця |
Від 28 до 31 |
T |
Тимчасова зона сервера |
EST, MDT ... |
U |
Кількість секунд, що пройшли з початку Епохи Unix (The Unix Epoch, 1 січня 1970, 00:00:00 GMT) |
|
w |
Порядковий номер дня тижня |
Від 0 (неділя) до 6 (субота) |
W |
Порядковий номер тижня року по ISO-8601, перший день тижня - понеділок (додано в PHP 4.1.0) |
42 (42-й тиждень року) |
Y |
Порядковий номер року, 4 цифри |
1999, 2003 |
y |
Номер року, 2 цифри |
99, 03 |
z |
Порядковий номер дня року (нумерація з 0) |
Від 0 до 365 |
int time (void)
Повертає кількість секунд, що пройшли з початку Епохи Unix (The Unix Epoch, 1 січня 1970, 00:00:00 GMT) до поточного часу.