PHP-функция date()
преобразует метку времени в более удобочитаемые дату и время.
Компьютер хранит дату и время в формате, который называется UNIX Timestamp; он измеряет время как количество секунд с начала эпохи Unix (полночь по Гринвичу 1 января 1970 г., т.е. 1 января 1970 г., 00:00:00 по Гринвичу). ,
Поскольку это непрактичный формат для чтения людьми, PHP преобразует временную метку в формат, понятный людям, и даты из вашей записи в метку времени, понятную компьютеру. Синтаксис PHP-функции date()
можно задать с помощью.
date(format, timestamp)
Параметр формата в функции date()
является обязательным, который определяет формат возвращаемых даты и времени. Однако метка времени (timestamp) является необязательным параметром; если она не указана, будут использоваться текущая дата и время. Следующая инструкция отображает сегодняшнюю дату:
<?php
$today = date("d/m/Y");
echo $today;
?>
PHP-функция date()
возвращает текущую дату и время в соответствии со встроенными часами веб-сервера, на котором был выполнен скрипт.
Форматирование даты и времени с помощью PHP-функции date()
Параметр формата функции date()
на самом деле представляет собой строку, которая может содержать несколько символов, что позволяет вам сгенерировать строку даты, содержащую различные компоненты даты и времени, такие как день недели, AM или PM и т. д. Вот некоторые из символов форматирования, связанные с датой, которые обычно используются в этой строке:
d
— обозначает день месяца; две цифры с ведущими нулями (01 или 31)D
— обозначение дня недели в тексте в виде сокращения (с понедельника по воскресенье)m
— обозначает месяц цифрами с ведущими нулями (01 или 12)M
— обозначает месяц в тексте, сокращенно (с января по декабрь)y
— обозначают год двумя цифрами (08 или 14)Y
— обозначает год четырьмя цифрами (2008 или 2014)
Части даты можно разделить, вставив другие символы, например дефисы (-
), точки (.
), слеши (/
) или пробелы, чтобы добавить дополнительное визуальное форматирование.
<?php
echo date("d/m/Y") . "<br>";
echo date("d-m-Y") . "<br>";
echo date("d.m.Y");
?>
Вы можете использовать PHP-функцию date()
для автоматического обновления срока действия авторских прав на вашем веб-сайте, например: Copyright © 2010-<?php echo date("Y")?>.
Точно так же вы можете использовать следующие символы для форматирования строки времени:
h
— обозначает час в 12-часовом формате с ведущими нулями (от 01 до 12)H
— часы в 24-часовом формате с ведущими нулями (от 00 до 23)i
— минуты с ведущими нулями (от 00 до 59)s
— секунды с ведущими нулями (от 00 до 59)a
— представляют нижний регистр ante meridiem и post meridiem (am
илиpm
)A
— обозначает верхний регистр Ante meridiem и Post meridiem (AM
илиPM
)
PHP-код в следующем примере отображает дату в разных форматах:
<?php
echo date("h:i:s") . "<br>";
echo date("F d, Y h:i:s A") . "<br>";
echo date("h:i a");
?>
PHP-функция time()
Функция time()
используется для получения текущего времени в виде метки времени Unix (количество секунд с начала эпохи Unix: 1 января 1970 г. 00:00:00 по Гринвичу).
<?php
// Текущая дата 05 March 2014, 07:19:18
$timestamp = time();
echo($timestamp); // Выводит: 1394003958
?>
Мы можем преобразовать эту метку времени в удобочитаемую дату, передав ее в ранее введенную функцию date()
.
<?php
$timestamp = 1394003958;
echo(date("F d, Y h:i:s", $timestamp)); // Выводит: March 05, 2014 07:19:18
?>
PHP-функция mktime()
Функция mktime()
используется для создания отметки времени на основе определенной даты и времени. Если дата и время не указаны, возвращается метка времени для текущей даты и времени.
Синтаксис функции mktime()
может быть задан следующим образом:
mktime(hour, minute, second, month, day, year)
В следующем примере отображается метка времени, соответствующая 15:20:12 10 мая 2014 года:
<?php
// Создаем метку времени для определенной даты
echo mktime(15, 20, 12, 5, 10, 2014); // Выводит: 1399735212
?>
Вы можете не указывать столько аргументов, вместо них будет использоваться значение, соответствующее текущему времени. Если вы опустите все аргументы, функция mktime()
вернет временную метку UNIX, соответствующую текущей дате и времени, как и time()
.
Функцию mktime()
можно использовать для поиска названия дня недели, соответствующего определенной дате. Для этого просто используйте символ «l» (строчная буква «L») со своей меткой времени, как в следующем примере, который отображает день, приходящийся на 1 апреля 2014 года:
<?php
// Получаем название дня недели определенной даты
echo date('l', mktime(0, 0, 0, 4, 1, 2014)); // Выводит: Tuesday
?>
Функцию mktime()
также можно использовать для поиска определенной даты в будущем по истечении определенного периода времени. Как в следующем примере, где отображается дата, которая наступает спустя 30 месяцев относительно 5 Марта 2014.
<?php
// Текущая дата March 05, 2014
$futureDate = mktime(0, 0, 0, date("m")+30, date("d"), date("Y"));
echo date("d/m/Y", $futureDate); // Выводит: 05/09/2016
?>
Полный справочник по датам PHP
Пожалуйста, ознакомьтесь с разделом справки по функциям даты и времени PHP, чтобы получить полный список всех полезных функций даты и времени доступных в PHP.