Дата и время в PHP

05 февраля 2019
3370
php

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

Php дата и время , php функции времени, php функции даты, php функции даты и времени, php функции работы с датой - обо всем этом мы расскажем сегодня.

Получение метки времени функцией time()

Функция PHP time () дает вам всю необходимую информацию о текущей дате и времени. Не требует аргументов, возвращает целое число.

Целое число, возвращаемое функцией time (), представляет количество секунд, прошедших с полуночи по Гринвичу 1 января 1970 года. Этот момент известен как время UNIX (unix time), а количество секунд, прошедших с тех пор, называется отметкой времени.

<?php print time();  ?>

Это даст следующий результат -

1480930103

К счастью, PHP предлагает отличные инструменты для преобразования unix time в форму, удобную для людей.

Преобразование метки времени с помощью getdate ()

Функция getdate () дополнительно принимает отметку времени и возвращает ассоциативный массив, содержащий информацию о дате.

Если вы не укажите метку времени, то функция будет работать с текущей меткой времени, возвращенной функцией time ().

В следующей таблице перечислены элементы, содержащиеся в массиве, возвращаемом методом getdate ().

Индекс Ключ и описание Пример значения
1 секунды
Секунды после минут (0-59)
20
2 минуты
Минуты после часа (0 - 59)
29
3 часы
Часы дня (0 - 23)
22
4 Порядковый номер дня месяца
День месяца (1 - 31)
11
5 Порядковый номер дня недели
День недели (0 - 6)
4
6 Порядковый номер месяца
Месяц года (1 - 12)
7
7 год
Год (4 цифры)
1997
8 Порядковый номер дня в году
ень года (0 - 365)
19
9 Полное наименование дня недели
День недели
Sunday
10 Полное наименование месяца, например, January или March
Месяц года
January
11 Количество секунд, прошедших с начала эпохи Unix (The Unix Epoch), подобно значению, возвращаемому функцией time() и используемому функцией date().
Отметка
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 = 2018
yday = 339
weekday = Monday
month = December
0 = 1480930150
Today's date: 5/12/2018

Преобразование метки времени с функцией date()

Функция date () возвращает отформатированную строку, представляющую дату. Вы можете определять формат, который возвращает date().

date(format,timestamp)

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

В следующей таблице перечислены коды, которые может содержать строка format:

Sr.No Формат и описание пример
1 a - строчные буквы 'am' или 'pm' pm
2 A - 'AM' или 'PM' прописные буквы PM
3 d - День месяца, число с ведущими нулями 20
4 D - День недели (три буквы) Thu
5 F - Название месяца January
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 (буква 'L' в нижнем регистре) - День недели Thursday
13 L - Високосный год («1» для «да», «0» для «нет») 1
14 м - Месяц года (число) 1
15 M - Месяц года (три буквы) Jan
16 р - Дата в формате RFC 2822 Thu, 21 Dec 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());
   print "Today is ";
   print date("j of F Y, \a\\t g.i a", time());
?>

Это даст следующий результат -

12/05/18 9.29:47Today is 5 2018f December 2018, at 9.29 am

Надеемся, что эта статья оказалась для вас полезна.

Рекомендуемые статьи:

Мы используем файлы cookie для предоставления наших услуг, а также для аналитики и маркетинга. Продолжая просматривать наш веб-сайт, вы соглашаетесь на использование нами файлов cookie.
ОК