базовый курс

ГРУППА КУРСА

Дата и время

Функция time() возвращает текущее время в формате Unix, то есть, количества секунд, прошедших с 1 января 1970 года. На первый взгляд, этот формат может показаться странным, ведь это очень большое число. Но на самом деле этот формат очень удобен. Ведь число всего одно и с ним легко производить вычисления, например прибавить какой-то отрезок времени. А для перевода этого числа в более привычный вид есть функции, которые мы рассмотрим далее.

+
1
2
<?php
header('Content-type: text/html; charset=utf-8');
3
$current = time();

Функция date() возвращает определённые компоненты даты и времени в соответствии с форматом, указанном в параметрах функции.

date (формат, время)

формат - формат функции, который определяет, какие именно компоненты даты и времени будут показаны и в каком виде

время - время в секундах, для которого определяются компоненты. Необязательный параметр. Если не указан, то определяются компоненты для текущей даты и времени.

Формат указывается при помощи кодов компонентов. Этих кодов достаточно много. Основные перечислены в таблице:

Код Описание
Y Год, четыре знака
F Название месяца
m Номер месяца. Нумерация начинается с 1
W Неделя года
d Число месяца
l Название дня недели
N Номер дня недели. Нумерация начинается с 1 (Понедельник)
w Номер дня недели. Нумерация начинается с 0 (Воскресенье)
z Номер дня в году. Нумерация начинается с 0
H Часы от 0 до 23
i Минуты
s Секунды

Для примера выведем минуты для текущего момента:

4
echo date(i);

Если в формате есть символы, которые не соответствуют ни какому коду, то эти символы добавляются в строку, которую возвращает функция. Выведем время в следующем формате - минуты, затем двоеточие, затем секунды:

5
6
echo '<br>';
echo date('i:s');

В примерах не указан второй параметр. В функции date() можно указать дату и время в секундах, прошедших с 1 января 1970 года. Тогда компоненты, указанные в формате, будут определены не для текущего времени а для указанной даты и времени.

Нужно учитывать, что время определяется в соответствии с часовым поясом, установленным на сервере. Часовой пояс локального сервера далеко не всегда совпадает с локальным временем компьютера.

Функция getdate() также представляет дату и время в виде отдельных компонентов. Но для этой функции не нужно указывать формат. Функция возвращает массив, содеращий компоненты даты и времени.

getdate (время)

время - время в секундах, для которого определяются компоненты. Необязательный параметр. Если не указан, то определяются компоненты для текущей даты и времени.

Создадим массив для текущей даты и времени и выведем этот массив:

7
8
9
$ndate = getdate();
echo '<br>';
print_r($ndate);

[wday] - это номер дня недели. Нумерация начинается с 0 (Воскресенье).

[yday] - это номер дня в году. Нумерация начинается с 0.

Создайте подобный массив для другого времени.