Свидания настолько важны в повседневной жизни, что с ними легко работать, не задумываясь. PHP также предоставляет мощные инструменты для арифметики дат, которые облегчают манипулирование датами.
Получение метки времени со временем ()
Функция PHP time () дает вам всю необходимую информацию о текущей дате и времени. Не требует аргументов, но возвращает целое число.
Целое число, возвращаемое функцией time (), представляет количество секунд, прошедших с полуночи по Гринвичу 1 января 1970 года. Этот момент известен как эпоха UNIX, а количество секунд, прошедших с тех пор, называется отметкой времени.
<?php print time(); ?>
Это даст следующий результат —
1480930103
Это сложно понять. Но PHP предлагает отличные инструменты для преобразования метки времени в форму, удобную для людей.
Преобразование метки времени с помощью getdate ()
Функция getdate () дополнительно принимает отметку времени и возвращает ассоциативный массив, содержащий информацию о дате. Если вы опустите метку времени, она будет работать с текущей меткой времени, возвращенной функцией time ().
В следующей таблице перечислены элементы, содержащиеся в массиве, возвращаемом методом getdate ().
Sr.No | Ключ и описание | пример |
---|---|---|
1 |
секунд Секунды после минут (0-59) |
20 |
2 |
минут Минуты после часа (0 — 59) |
29 |
3 |
часов Часы дня (0 — 23) |
22 |
4 |
MDAY День месяца (1 — 31) |
11 |
5 |
WDAY День недели (0 — 6) |
4 |
6 |
понедельник Месяц года (1 — 12) |
7 |
7 |
год Год (4 цифры) |
1997 |
8 |
yday День года (0 — 365) |
19 |
9 |
будний день День недели |
Четверг |
10 |
месяц Месяц года |
январь |
11 |
0 Отметка |
948370048 |
секунд
Секунды после минут (0-59)
минут
Минуты после часа (0 — 59)
часов
Часы дня (0 — 23)
MDAY
День месяца (1 — 31)
WDAY
День недели (0 — 6)
понедельник
Месяц года (1 — 12)
год
Год (4 цифры)
yday
День года (0 — 365)
будний день
День недели
месяц
Месяц года
0
Отметка
Теперь у вас есть полный контроль над датой и временем. Вы можете отформатировать эту дату и время в любом формате.
пример
Попробуйте следующий пример
<?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(format,timestamp)
Функция date () может принять метку времени, если она опущена, тогда будут использоваться текущая дата и время. Любые другие данные, которые вы включаете в строку формата, переданную в date (), будут включены в возвращаемое значение.
В следующей таблице перечислены коды, которые может содержать строка формата:
Sr.No | Формат и описание | пример |
---|---|---|
1 |
строчные буквы ‘am’ или ‘pm’ |
вечера |
2 |
‘AM’ или ‘PM’ прописные буквы |
ВЕЧЕРА |
3 |
d День месяца, число с ведущими нулями |
20 |
4 |
D День недели (три буквы) |
четверг |
5 |
F Название месяца |
январь |
6 |
час Час (12-часовой формат — ведущие нули) |
12 |
7 |
ЧАС Час (24-часовой формат — ведущие нули) |
22 |
8 |
г Час (12-часовой формат — без начальных нулей) |
12 |
9 |
г Час (24-часовой формат — без начальных нулей) |
22 |
10 |
я Минуты (0 — 59) |
23 |
11 |
J День месяца (без начальных нулей |
20 |
12 |
л (ниже «L») День недели |
Четверг |
13 |
L Високосный год («1» для «да», «0» для «нет») |
1 |
14 |
м Месяц года (число — ведущие нули) |
1 |
15 |
M Месяц года (три буквы) |
январь |
16 |
р Дата в формате 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 |
строчные буквы ‘am’ или ‘pm’
‘AM’ или ‘PM’ прописные буквы
d
День месяца, число с ведущими нулями
D
День недели (три буквы)
F
Название месяца
час
Час (12-часовой формат — ведущие нули)
ЧАС
Час (24-часовой формат — ведущие нули)
г
Час (12-часовой формат — без начальных нулей)
г
Час (24-часовой формат — без начальных нулей)
я
Минуты (0 — 59)
J
День месяца (без начальных нулей
л (ниже «L»)
День недели
L
Високосный год («1» для «да», «0» для «нет»)
м
Месяц года (число — ведущие нули)
M
Месяц года (три буквы)
р
Дата в формате RFC 2822
N
Месяц года (число — без начальных нулей)
s
Секунды часа
U
Отметка времени
Y
Год (две цифры)
Y
Год (четыре цифры)
Z
День года (0 — 365)
Z
Смещение в секундах от GMT
пример
Попробуйте следующий пример
<?php print date("m/d/y G.i:s<br>", time()); print "Today is "; print date("j of F Y, \a\\t g.i a", time()); ?>
Это даст следующий результат —
12/05/16 9.29:47Today is 5 2016f December 2016, at 9.29 am
Надеюсь, у вас есть хорошее понимание того, как форматировать дату и время в соответствии с вашими требованиями. Для справки, полный список всех функций даты и времени приведен в PHP Date & Time Functions.