PHP - Дата и время
Свидания стали настолько важной частью повседневной жизни, что с ними легко работать, не задумываясь. PHP также предоставляет мощные инструменты для арифметики дат, которые упрощают работу с датами.
Получение отметки времени с указанием времени ()
PHP time()функция дает вам всю необходимую информацию о текущей дате и времени. Не требует аргументов, но возвращает целое число.
Целое число, возвращаемое функцией time (), представляет количество секунд, прошедших с полуночи по Гринвичу 1 января 1970 года. Этот момент известен как эпоха UNIX, а количество секунд, прошедших с тех пор, называется отметкой времени.
<?php
print time();
?>
Это даст следующий результат -
1480930103
Это трудно понять. Но PHP предлагает отличные инструменты для преобразования метки времени в форму, удобную для людей.
Преобразование метки времени с помощью getdate ()
Функция getdate()дополнительно принимает отметку времени и возвращает ассоциативный массив, содержащий информацию о дате. Если вы опустите отметку времени, она будет работать с текущей отметкой времени, возвращенной функцией time ().
В следующей таблице перечислены элементы, содержащиеся в массиве, возвращаемом getdate ().
Старший Нет | Ключ и описание | пример |
---|---|---|
1 | seconds Секунды после минут (0-59) |
20 |
2 | minutes Минуты после часа (0–59) |
29 |
3 | hours Часы дня (0–23) |
22 |
4 | mday День месяца (1-31) |
11 |
5 | wday День недели (0-6) |
4 |
6 | mon Месяц года (1–12) |
7 |
7 | year Год (4 цифры) |
1997 г. |
8 | yday День года (0 - 365) |
19 |
9 | weekday День недели |
Четверг |
10 | month Месяц года |
Январь |
11 | 0 Отметка времени |
948370048 |
Теперь у вас есть полный контроль над датой и временем. Вы можете отформатировать эту дату и время в любом желаемом формате.
пример
Попробуйте следующий пример
<?php
$date_array = getdate();
foreach ( $date_array as $key => $val ){
print "$key = $val<br />";
}
$formated_date = "Today's date: ";
$formated_date .= $date_array['mday'] . "/";
$formated_date .= $date_array['mon'] . "/";
$formated_date .= $date_array['year'];
print $formated_date;
?>
Это даст следующий результат -
seconds = 10
minutes = 29
hours = 9
mday = 5
wday = 1
mon = 12
year = 2016
yday = 339
weekday = Monday
month = December
0 = 1480930150
Today's date: 5/12/2016
Преобразование метки времени с помощью date ()
В date()функция возвращает форматированную строку, представляющую дату. Вы можете осуществлять огромный контроль над форматом, который возвращает date (), с помощью строкового аргумента, который вы должны ему передать.
date(format,timestamp)
Date () дополнительно принимает отметку времени, если она опущена, тогда будут использоваться текущая дата и время. Любые другие данные, которые вы включаете в строку формата, переданную в date (), будут включены в возвращаемое значение.
В следующей таблице перечислены коды, которые может содержать строка формата.
Старший Нет | Формат и описание | пример |
---|---|---|
1 | a строчные буквы am или pm |
вечера |
2 | A Заглавные буквы "AM" или "PM" |
ВЕЧЕРА |
3 | d День месяца, число с ведущими нулями |
20 |
4 | D День недели (три буквы) |
Чт |
5 | F Название месяца |
Январь |
6 | h Час (12-часовой формат - ведущие нули) |
12 |
7 | H Час (24-часовой формат - ведущие нули) |
22 |
8 | g Час (12-часовой формат - без ведущих нулей) |
12 |
9 | G Час (24-часовой формат - без ведущих нулей) |
22 |
10 | i Минуты (0-59) |
23 |
11 | j День месяца (без ведущих нулей |
20 |
12 | l (Lower 'L') День недели |
Четверг |
13 | L Високосный год (1 - да, 0 - нет) |
1 |
14 | m Месяц года (число - ведущие нули) |
1 |
15 | M Месяц года (три буквы) |
Янв |
16 | r Дата в формате RFC 2822 |
Чт, 21 дек 2000 16:01:07 +0200 |
17 | n Месяц года (число - без ведущих нулей) |
2 |
18 | s Секунды часа |
20 |
19 | U Отметка времени |
948372444 |
20 | y Год (две цифры) |
06 |
21 год | Y Год (четыре цифры) |
2006 г. |
22 | z День года (0 - 365) |
206 |
23 | Z Смещение в секундах от GMT |
+5 |
пример
Попробуйте следующий пример
<?php
print date("m/d/y G.i:s<br>", time());
echo "<br>";
print "Today is ";
print date("j of F Y, \a\\t g.i a", time());
?>
Это даст следующий результат -
12/05/16 9:29:47
Today is 5 2016f December 2016 at 9:29 am
Надеюсь, вы хорошо понимаете, как форматировать дату и время в соответствии с вашими требованиями. Для справки полный список всех функций даты и времени приведен в разделе Функции даты и времени PHP.