Дата и время PHP
Функция PHP date()
используется для форматирования даты и/или времени.
PHP-функция Date()
Функция PHP date()
форматирует временную метку в более удобочитаемую дату и время.
Синтаксис
date(format,timestamp)
Parameter | Description |
---|---|
format | Required. Specifies the format of the timestamp |
timestamp | Optional. Specifies a timestamp. Default is the current date and time |
Временная метка — это последовательность символов, обозначающая дату и/или время, когда произошло определенное событие.
Получить дату
Обязательный параметр формата функции date() указывает, как форматировать дату (или время).
Вот некоторые символы, которые обычно используются для дат:
- d — представляет день месяца (от 01 до 31)
- m - представляет месяц (от 01 до 12)
- Y - представляет год (четыре цифры)
- l (строчная буква «L») — обозначает день недели.
Другие символы, такие как "/", "." или "-" также могут быть вставлены между символами для добавления дополнительного форматирования.
В приведенном ниже примере сегодняшняя дата форматируется тремя различными способами:
Пример
<?php
echo "Today is " . date("Y/m/d") . "<br>";
echo "Today is " . date("Y.m.d") . "<br>";
echo "Today is " . date("Y-m-d") . "<br>";
echo "Today is " . date("l");
?>
Совет по PHP — год автоматического авторского права
Воспользуйтесь date()
функцией автоматического обновления года авторского права на вашем сайте:
Пример
© 2010-<?php echo date("Y");?>
Получить время
Вот некоторые символы, которые обычно используются для обозначения времени:
- H - 24-часовой формат часа (от 00 до 23)
- h - 12-часовой формат часа с ведущими нулями (от 01 до 12)
- i - Минуты с ведущими нулями (от 00 до 59)
- s — секунды с ведущими нулями (от 00 до 59)
- a - строчные буквы Ante meridiem и Post meridiem (am или pm)
Пример ниже выводит текущее время в указанном формате:
Пример
<?php
echo "The time is " . date("h:i:sa");
?>
Обратите внимание, что функция PHP date() возвращает текущую дату/время сервера!
Получите свой часовой пояс
Если время, которое вы получили из кода, неверно, возможно, это связано с тем, что ваш сервер находится в другой стране или настроен для другого часового пояса.
Итак, если вам нужно, чтобы время было правильным в зависимости от конкретного местоположения, вы можете установить часовой пояс, который хотите использовать.
В приведенном ниже примере для часового пояса установлено значение «Америка/Нью-Йорк», а затем выводится текущее время в указанном формате:
Пример
<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>
Создайте дату с помощью mktime()
Необязательный параметр временной метки в функции date() задает временную метку. Если опущено, будут использоваться текущие дата и время (как в примерах выше).
Функция PHP mktime()
возвращает временную метку Unix для даты. Отметка времени Unix содержит количество секунд между эпохой Unix (1 января 1970 г., 00:00:00 по Гринвичу) и указанным временем.
Синтаксис
mktime(hour, minute, second, month, day, year)
В приведенном ниже примере дата и время создаются с помощью
date()
функции из ряда параметров в
mktime()
функции:
Пример
<?php
$d=mktime(11, 14, 54, 8, 12, 2014);
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
Создайте дату из строки с помощью strtotime()
Функция PHP strtotime()
используется для преобразования удобочитаемой строки даты в отметку времени Unix (количество секунд с 00:00:00 по Гринвичу 1 января 1970 года).
Синтаксис
strtotime(time, now)
Пример ниже создает дату и время из strtotime()
функции:
Пример
<?php
$d=strtotime("10:30pm April 15 2014");
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
PHP довольно умен в преобразовании строки в дату, поэтому вы можете вводить различные значения:
Пример
<?php
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>
Однако strtotime()
это не идеально, поэтому не забудьте проверить строки, которые вы туда вставили.
Дополнительные примеры дат
В приведенном ниже примере выводятся даты для следующих шести суббот:
Пример
<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks", $startdate);
while ($startdate < $enddate) {
echo date("M d", $startdate) . "<br>";
$startdate = strtotime("+1 week", $startdate);
}
?>
В приведенном ниже примере выводится количество дней до 4 июля:
Пример
<?php
$d1=strtotime("July 04");
$d2=ceil(($d1-time())/60/60/24);
echo "There are " . $d2 ." days until 4th of July.";
?>
Полная справка по дате PHP
Полный справочник по всем функциям даты можно найти в нашем полном справочнике по датам в PHP .
Справочник содержит краткое описание и примеры использования для каждой функции!