PHP Date: особенности работы

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

На фото изображен программный код в phpStorm.

Описание операции

Date — это операция, которая поможет вам отформатировать системную дату или время (точнее ее вывод). Если вы используете format, то произойдет возвращение строки, следуя шаблону. В случае, если вы хотите использовать и задать определенное время, вам нужно использовать timestamp. Если timestamp не задан, то будет использовано системное время.

Можно сделать вывод, что timestamp — вещь необязательная, по умолчанию равная значению системного времени.

Список параметров и функций

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

  1. time ( ) — эта функция вернет текущее абсолютное время. Ее значение равняется тому кол-ву секунд, прошедшему с -01 января 1970 (эту дату традиционно принято считать началом эпохи UNIX);
  2. getdate ( ) — эта функция выводит всю имеющуюся информацию о дате/времени. Выводит массив, в котором указаны все данные по выбранному времени. Массив может содержать некоторые из нижеприведенных составляющих:
  • seconds (секунды) — диапазон использования 0-59;
  • minutes (минуты) — диапазон использования 0-59;
  • hours (часы) — диапазон использования 0-23;
  • mday (выбранный день месяца) — диапазон использования 0-30;
  • wday (выбранный день недели) — диапазон использования 0-6;
  • year (год);
  • month (месяц) — просто вводите название месяца, например March (март);
  • 0 — абсолютное время.

Есть еще функция date ( ), которая, как мы уже говорили выше, работает с форматированием времени или даты. Далее нами приведены некоторые из ее кодов:

a Выводит «am» или «pm»;
A Выводит «AM» или «PM»;
d Текущий или выбранный день месяца (1-31);
D Сокращение дня недели (точнее его названия);
F Полное название выбранного или текущего месяца;
h Часы (формат 12);
H Часы (формат 24);
l Полное название текущего или выбранного дня недели;
m Месяц (от 1 до 12);
M Название месяца (обратите внимание, что оно сокращенное);
s Кол-во секунд (00-59);
t Кол-во дней в выбранном или текущем месяце (28-31);
U Абсолютное время;
w Номер дня недели (при условии, что 0 — это воскресенье, а 6 — суббота);
y Выбранный год (использование двух разрядов);
Y Выбранный год (использование четырех разрядов);
z День года (0-365).

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

  1. Сначала вводят часы, потом минуты, потом секунды.
  2. Затем вводится месяц и его день.
  3. Последний пункт ввода — год.

Обратите внимание, что использование mktime является недопустимым до 1902 года.

Имеется также очень полезная функция под названием checkdate ( ). Она отвечает за проверку правильности выбранной и введенной вами даты.

Ее аргументами является: день, месяц, год. Результат true, в случае если дата является верной, т.е.должны выполняться следующие условия:

  • день — результатом является целое число, которое не превышает кол-во дней в текущем или выбранном месяце. Обратите внимание, что високосные годы функция обрабатывает верно;
  • месяц — результатом является целое число в диапазоне от 1 до 12;
  • год — целое число (1-32767).

Возвращаемые значения

Можно возвращать уже отформатированную строку с датой. Обратите внимание, что если в качестве timestamp вы попытаетесь использовать нечисловое значение, вам просто выдаст ошибку (FALSE).

Приведение примеров

Пример No.1 с использованием функции getdate

<html>
<head>
<title>Использование getdate()</title>
</head>
<body>
<?php
$d = getdate(); // использовано текущее время
foreach ( $d as $key => $val )
echo «$key = $val<br>»;
echo «<hr>Cейчас: $d[mday].$d[mon].$d[year]»;
?>
</body>
</html>

Результат примера No.1

seconds = 34
minutes = 5
hours = 11
mday = 20
wday = 6
mon = 06
year = 2020
yday = 174
weekday = Saturday
month = June
Сейчас: 20.06.2020

! При условии, что сегодня: 20.06.2020

Пример No.2 с использованием mktime

<html>
<head>
<title>Использование mktime()</title>
</head>
<body>
<?php
echo date( «j of F Y, \a\\t g.i a, l», mktime( 14, 45, 6, 06, 20, 2020 ) );
?>
</body>
</html>

Результат примера No.2

20 of June 2020, at 2.45 pm, Saturday

Пример No.3 с использованием checkdate

if ( !checkdate( $month, 1, $year ) )
{
$d = getdate();
$month = $d[mon];
$year = $d[year];
}

Надеемся, мы смогли ответить на ваши вопросы по данной теме. Свои отзывы и предложения вы можете оставить в комментариях.

Ссылка на основную публикацию