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.