Функції для роботи з датою і часом

 

Ці функції дозволяють отримати поточний час сервера, на якому виконується скрипт. Крім того час можна представити в різних форматах, порахувати різницю між двома моментами часу і навіть дізнатися час сходу сонця в певній місцевості в той чи інший день!

Розберемо основні з цих функцій.

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) до поточного часу.