Определение текущей даты и времени в PHP. Как разбить их на компоненты?

определение текущей даты и времени в php. как разбить их на компоненты?

Форматирование даты и времени

Все инструменты, позволяющие преобразовывать временные метки timestamp в удобочитаемый вид, оперируют шаблонами форматирования. Вы должны сообщать функциям, какое именно представление будет иметь дата и время. Например, может потребоваться вывести название месяца в виде строки «январь», а текущий день указать числом «08».

В PHP шаблонами форматирования даты и времени являются строки с наборами управляющих символов. Эти символы будут разбираться подробно в следующих уроках. Однако вы можете ознакомиться с ними заранее на страницах официальной документации.

Определение текущей даты

Если вам необходимо получить строковое представление текущей даты и времени можно использовать функцию date(). Она принимает два параметра, но только первый является обязательным. В случае успешной обработки возвращается отформатированная строка, иначе выбрасывается ошибка уровня E_WARNING, а результатом выполнения функции считается логическое значение false.

В качестве первого параметра функции date() мы передаем строку форматирования даты и времени. Если второй параметр опущен, функция определить текущую временную метку timestamp, и будет работать с ней. Вы можете определить конкретную метку в числовом формате и самостоятельно передать её во второй параметр.

//узнаем текущее время и дату
echo date('Y-m-d\TH:i:sP'); //2018-02-11T16:25:13+02:00


//узнаем время и дату 18 дней назад
$timeDiff = ((60 * 60) * 24) * 18;
echo date('Y-m-d\TH:i:sP', time() - $timeDiff); //2018-01-24T16:25:13+02:00

PHP также позволяет получить текущую дату и время в объектно-ориентированном стиле. Для этого нужно использовать экземпляр класса DateTime, у которого есть метод format(), возвращающий строковое представление даты. Метод format() в качестве единственного параметра принимает строку с шаблоном форматирования.

//узнаем текущее время и дату
$date = new DateTime();
echo $date->format('Y-m-d\TH:i:sP'); //2018-02-11T16:28:51+02:00


//узнаем время и дату 18 дней назад
$date = new DateTime('-18 days');
echo $date->format('Y-m-d\TH:i:sP'); //2018-01-24T16:28:51+02:00

Компоненты даты и времени

Форматирование даты и времени в большинстве случаев необходимо для показа пользователю информации в удобочитаемом виде. Однако в PHP существует ряд задач требующих дополнительной обработки дат. Специально для этих целей можно получить текущее время и дату разбитые на компоненты.

Вызов функции getdate() вернет ассоциативный массив, содержащий числовые значения секунд, минут, часов, дней месяца и так далее.

Содержимое массива, возвращаемое функцией getdate()

Ключ Значение
seconds Секунды
minutes Минуты
hours Часы
mday Номер дня внутри месяца
wday Номер дня внутри недели
mon Месяц
year Год
yday Номер дня внутри года
weekday День недели в строковом представлении. Например, «Monday»
month Месяц в строковом представлении. Например, «January»
0 Timestamp метка, соответствующая текущей дате
echo print_r(getdate());
/*
* Результат:
* Array (
*     [seconds] => 3
*     [minutes] => 33
*     [hours]   => 16
*     [mday]    => 11
*     [wday]    => 0
*     [mon]     => 2
*     [year]    => 2018
*     [yday]    => 41
*     [weekday] => Sunday
*     [month]   => February
*     [0]       => 1518359583
* )
*/

Последние публикации