Уроки PHP – получение и вывод даты и времени

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

Основные моменты для дат и времени в PHP

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

Функция PHP date()

Наиболее используемая функция для обработки даты и времени – это функция date(). Эта функция возвращает фактическую (системную) дату и время в указанном вами формате. Также функция может конвертировать формат отметки времени (временная метка, метка времени или timestamp) в удобочитаемый формат. Полный синтаксис функции следующий:

date ( string $format [, int $timestamp = time() ] )

Функция возвращает строку, которая отформатирована в соответствии с указанным шаблоном (format). Аргумент timestamp задает метку времени; если timestamp не задан, тогда используется текущее системное время. Указывать временную метку необязательно, если вы ее не укажете, тогда она по умолчанию будет равна значению, которое возвращается функцией time().

Ниже представлены практические примеры получения фактической информации о дате и времени:

<?php
echo "<p>Отображение текущей даты: " . date('d-m-Y') . "</p>";
echo "<p>Отображение текущего времени: " . date('H:i:s') . "</p>";
echo "<p>Отображение текущей даты и времени: " . date('d-m-Y H:i:s') . "</p>";
echo "<p>Отображение текущей даты и времени в длинном формате: " . date('d F Y, D - g:i:s A') . "</p>";
?>

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

Символ в строке format Описание Пример возвращаемого значения
День
d День месяца с 2-мя цифрами от 01 до 31
D День недели в текстовом формате, 3 символа от Mon до Sun
z Порядковый номер дня в году (начиная с 0) От 0 до 365
Месяц
F Полное название месяца, например, January или March от January до December
m Порядковый номер месяца, 2 цифры от 01 до 12
M Сокращенное название месяца, 3 символа от Jan до Dec
Год
Y Порядковый номер года, 4 цифры Примеры: 1999, 2019
y Порядковый номер года, 2 цифры Примеры: 99, 19
Время
a Ante meridiem (лат. «до полудня») или Post meridiem (лат. «после полудня») в нижнем регистре am или pm
A Ante meridiem или Post meridiem в верхнем регистре AM или PM
g Часы в 12-часовом формате от 1 до 12
G Часы в 24-часовом формате от 0 до 23
h Часы в 12-часовом формате от 01 до 12
H Часы в 24-часовом формате, 2 цифры от 00 до 23
i Минуты, 2 цифры от 00 до 59
s Секунды, 2 цифры от 00 до 59

Функция PHP mktime()

Иногда вам нужно получить метку времени в прошлом или будущем. Вы можете сделать это с помощью функции mktime(). Вам нужно указать нужную дату, и она возвращается с меткой времени Unix. Синтаксис данной функции следующий:

int mktime ( [int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year]]]]]] )

Здесь используются следующие данные:

  • hour – Количество часов, прошедших с начала дня, указанного параметрами month, day и year.
  • minute – Количество минут, прошедших от начала часа, указанного параметром hour.
  • second – Количество секунд, прошедших от начала минуты, указанной параметром minute.
  • month – Количество месяцев, прошедших с конца предыдущего года.
  • day – Количество дней, прошедших с конца предыдущего месяца.
  • year – Номер года, может быть указан двумя или четырьмя цифрами.

Вы можете использовать эту временную метку с вышеупомянутой функцией даты (date()), чтобы отобразить ее в нужном формате. Ниже представлены некоторые практические примеры использования этой функции:

<?php
echo "<p>Отображение даты, сгенерированной функцией mktime: " . date('d-m-Y', mktime(0, 0, 0, 5, 25, 2019)) . "</p>";
echo "<p>Отображение даты, сгенерированной функцией mktime с неверным указанием дня и месяца: " . date('d-m-Y', mktime(0, 0, 0, 14, 32, 2019)) . "</p>";
?>

Если вы хотите получить дату завтрашнего дня, вы можете использовать следующий код:

<?php
echo "<p>Сегодняшняя дата: " . date('d-m-Y') . "</p>";
echo "<p>Завтра будет: " . date('d-m-Y', mktime(0, 0, 0, date('m'), date('d')+1, date('Y') ) ) . "</p>";
?>

В данном примере мы использовали функцию mktime() и добавили 1 день к параметру дня, чтобы получить дату завтрашнего дня.

Tags: php

Recent Posts

Инструкция по скачиванию видео с сервиса TikTok (бесплатно и без watermark)

Если вы еще не слышали о TikTok, тогда рекомендуем вам сначала ознакомиться с этим кратким… Read More

17/09/2020

Что есть в бюджетном ноутбуке – на какие характеристики рассчитывать?

Прошли те времена, когда приличный ноутбук стоил от 1000 долларов. Сегодня можно купить довольно неплохой… Read More

16/09/2020

Что лучше – цифровое телевидение Т2 или интернет-телевидение?

Современную жизнь невозможно представить без телевидения. Оно позволяет узнавать о событиях в Украине и мире,… Read More

02/09/2020

Гипоаллергенная подушка. Для чего она важна?

Сейчас найдется мало людей, у которых нет аллергии на продукты или пыльцу растений. Считается, что… Read More

28/08/2020

Футбольный Инстаграм: что нового у топовых футболистов

Некоторые известные футболисты тщательно скрывают свои личную жизнь, а другие - активно постят фотографии с… Read More

24/08/2020

Виды и типы компрессионных чулков

Изделия называют компрессионными, когда их применяют для лечения, а также профилактики нарушений кровотока в нижних… Read More

22/08/2020