PHP Date: особенности работы
Сегодня в нашей статье мы расскажем вам об использовании PHP Date, разберемся, как работать с форматом текущей даты и времени, расскажем о вещах, которые вы, возможно, не знали. Приятного чтения!
Описание операции
Date — это операция, которая поможет вам отформатировать системную дату или время (точнее ее вывод). Если вы используете format, то произойдет возвращение строки, следуя шаблону. В случае, если вы хотите использовать и задать определенное время, вам нужно использовать timestamp. Если timestamp не задан, то будет использовано системное время.
Можно сделать вывод, что timestamp — вещь необязательная, по умолчанию равная значению системного времени.
Список параметров и функций
Вообще, PHP содержит огромное количество различных функций. Самыми популярными и употребительными считаются:
- time ( ) — эта функция вернет текущее абсолютное время. Ее значение равняется тому кол-ву секунд, прошедшему с -01 января 1970 (эту дату традиционно принято считать началом эпохи UNIX);
- 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. Может принимать не более шести аргументов, со значением целого числа. Вот их порядок:
- Сначала вводят часы, потом минуты, потом секунды.
- Затем вводится месяц и его день.
- Последний пункт ввода — год.
Обратите внимание, что использование 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];
}
Надеемся, мы смогли ответить на ваши вопросы по данной теме. Свои отзывы и предложения вы можете оставить в комментариях.