- PHP | Дата и время
- Функция PHP date()
- Синтаксис
- Параметры функции date():
- Пример
- Как всегда в футере выводить текущий год?
- Пример
- Определите свой часовой пояс
- Пример
- Функция PHP mktime()
- Получить текущий день недели php
- Код вывода дня недели на английском:
- Результат вывод дня недели по-английски:
- Php номер дня недели
- Код вывода номера дня недели.
- Результат вывода номера дня недели.
- Php день недели на русском
- Код получения дня недели на русском php.
- Результат получения и вывода дня недели на русском
- Php день недели произвольной даты на русском
- date() – форматирование даты PHP
- Основные параметры шаблона
- дд.мм.ггг (dd.mm.yyyy)
- гггг-мм-дд (yyyy.mm.dd)
PHP | Дата и время
В этом уроке рассмотрм, как на практике использовать функции PHP по получению даты и времени, а также рассмотрим способы вывода и форматирования даты и времени. Функции PHP, обрабатывающие дату и время, позволяют получать дату и время с того сервера, на котором выполняется сценарий. Также эти функции позволяют нам редактировать и форматировать полученные временные значения перед их отображением (выводом) на экран.
Функция PHP date()
Функция date() выводит текущие дату и время в заданном формате. Также функция может конвертировать формат отметки времени (временная метка, метка времени или timestamp) в удобочитаемый формат.
Синтаксис
Параметры функции date():
format Обязательный. Задает формат метки времени timestamp Необязательный. Задает отметку времени. По умолчанию текущая дата и время
Функция date() возвращает строку, которая отформатирована в соответствии с указанным шаблоном format . Параметр timestamp задает метку времени. Если timestamp не задан, тогда используется текущее системное время.
Примечание: Отметка времени — это последовательность символов, обозначающая дату и / или время, когда произошло определенное событие.
Обязательный параметр format функции date() указывает, как форматировать дату (или время). Формат задается управляющими командами (латиницей), при этом можно вставлять любые разделители между ними (дефисы, двоеточие и так далее).
Ниже представлена таблица с расшифровкой некоторых символов в строке format :
Символ в строке format | Описание | Пример возвращаемого значения |
---|---|---|
День | — | — |
d | День месяца с 2-мя цифрами | от 01 до 31 |
D | День недели в текстовом формате, 3 символа | от Mon до Sun |
z | Порядковый номер дня в году (начиная с 0) | От 0 до 365 |
Месяц | — | — |
F | Полное название месяца, например, January или March | от January до December |
m | Порядковый номер месяца, 2 цифры | от 01 до 12 |
M | Сокращенное название месяца, 3 символа | от Jan до Dec |
Год | — | — |
Y | Порядковый номер года, 4 цифры | Примеры: 1999, 2019 |
y | Порядковый номер года, 2 цифры | Примеры: 99, 19 |
Время | — | — |
a | Ante meridiem (лат. «до полудня») или Post meridiem (лат. «после полудня») в нижнем регистре | am или pm |
A | Ante meridiem или Post meridiem в верхнем регистре | AM или PM |
g | Часы в 12-часовом формате | от 1 до 12 |
G | Часы в 24-часовом формате | от 0 до 23 |
h | Часы в 12-часовом формате | от 01 до 12 |
H | Часы в 24-часовом формате, 2 цифры | от 00 до 23 |
i | Минуты, 2 цифры | от 00 до 59 |
s | Секунды, 2 цифры | от 00 до 59 |
Ниже представлены некоторые примеры получения фактической информации о дате и времени:
Пример
echo "Отображение текущей даты: " . date('d-m-Y') . "
";
echo "Отображение текущего времени: " . date('H:i:s') . "
";
echo "Отображение текущей даты и времени: " . date('d-m-Y H:i:s') . "
";
echo "Отображение текущей даты и времени в длинном формате: " . date('d F Y, D - g:i:s A');
?>
Как всегда в футере выводить текущий год?
Используйте функцию date() для автоматического обновления года в футере вашего веб-сайта:
Пример
Copyright © 2014- Все права защищены.
Результат выполнения кода:
Примечание: Обратите внимание, что функция PHP date() вернет текущую дату / время сервера!
Определите свой часовой пояс
Если сервер, на котором расположен ваш сайт, находится в другой стране или настроен для другого часового пояса, то текущее время, возвращаемое функцией date(), будет отличаться от реального времени вашего часового пояса.
Итак, если вам нужно, чтобы время было правильным для вашего региона, вы можете установить часовой пояс, который хотите использовать.
Функция date_default_timezone_set() устанавливает временную зону по умолчанию для всех функций даты и времени в скрипте.
Параметр timezone_identifier — это идентификатор временной зоны.
Функция date_default_timezone_set() устанавливает часовой пояс, который по умолчанию используется всеми дата/время функциями в сценарии. Чтобы изменить значение часового пояса для вашего веб-сайта, достаточно в начале скрипта задать функцию date_default_timezone_set() , параметром которой будет служить название часового пояса.
В приведенном ниже примере для часового пояса устанавливается значение ‘Europe/Moscow’, а затем выводится текущее время в указанном формате:
Пример
echo "Текущее время в Москве " . date("h:i:sa");
date_default_timezone_set('Europe/Kiev');
echo "Текущее время в Киеве " . date("h:i:sa");
?>
Функция PHP mktime()
Необязательный параметр timestamp функции date() указывает временную метку. Если она не указано, будут использоваться текущая дата и время (как в примерах выше).
Но если вам нужно получить метку времени в прошлом или будущем, то сделать это можно с помощью функции mktime() . Вам нужно указать нужную дату, и она возвращается с меткой времени Unix. Метка времени Unix содержит количество секунд между эпохой Unix (1 января 1970 г., 00:00:00 GMT) и указанным временем.
Синтаксис данной функции следующий:
Здесь используются следующие данные:
hour Количество часов, прошедших с начала дня, указанного параметрами month, day и year. minute Количество минут, прошедших от начала часа, указанного параметром hour. second Количество секунд, прошедших от начала минуты, указанной параметром minute. month Количество месяцев, прошедших с конца предыдущего года. day Количество дней, прошедших с конца предыдущего месяца. year Номер года, может быть указан двумя или четырьмя цифрами.
Аргументы могут быть опущены в порядке справа налево. В этом случае их значения по умолчанию равны соответствующим компонентам локальной даты/времени.
Функцию mktime() удобно использовать для выполнения арифметических операций с датами, так как она вычисляет верные значения при некорректных аргументах. Например, в следующем примере каждая строка выведет «Jan-01-1921»:
Получить текущий день недели php
Для того, чтобы получить день недели на английском. вам понадобится:
Из Этой таблицы вам потребуется аргумент(Полное наименование дня недели от Sunday до Saturday):
Код вывода дня недели на английском:
Результат вывод дня недели по-английски:
Код вывода дня недели на английском у вас есть. Теперь давайте выведем его прямо здесь:
Php номер дня недели
Для того, чтобы вывести текущее наименование номера дня недели вам опять понадобится функция date и также таблица аргументов.
Вам потребуется аргумент, который отвечает за порядковый номер недели, это английская буква N:
Код вывода номера дня недели.
Результат вывода номера дня недели.
После того, как мы определились с кодом, который будет получать и выводить порядковый номер недели. роазместим его прямо здесь:
Php день недели на русском
Конечно английское название дни недели в php это хорошо, но как нам показать название недели по-русски!? Встроенного решения в php нет, поэтому, для этого вам понадобится:
Создадим массив, где в каждой ячейке следующего массива располагаем названия дня недели на русском.
$days = array( 1 => «Понедельник» , «Вторник» , «Среда» , «Четверг» , «Пятница» , «Суббота» , «Воскресенье» );
Дала вам понадобятся знания обращения с одномерным массивом и получение соответствующей ячейки массива.
Как вы знаете/не знаете, чтобы получить ячейку массива — например «понедельник». , нужно соорудить вот такую конструкцию:
Но если мы вместо цифры внутри квадратных скобок поместим функцию с аргументом., то получим нужный нам результат:
Код получения дня недели на русском php.
Результат получения и вывода дня недели на русском
Что дальше? Располагаем выше приведенный код получения дня недели на русском через php прямо здесь:
Php день недели произвольной даты на русском
Для того, чтобы получить день недели произвольной даты, как вариант, что пришло первое в голову.
Нам нужна временная метка даты, я рассказывал о том, как превращать дату(пусть это будет 2019-02-05 11:38) в метку времени(получили — 1549355880) здесь
Далее нам нужна опять та же функция date , устанавливаем функции аргумент w :
w -> Порядковый номер дня недели -> От 0 (воскресенье) до 6 (суббота) (см. все аргументы)
date() – форматирование даты PHP
date($format, $timestamp) – форматирует дату/время по шаблону, где:
Результат работы функции зависит от настроек часового пояса, установить его можно следующем образом:
Основные параметры шаблона
Символ | Описание | Пример возвращаемого значения |
---|---|---|
День | ||
j | День месяца без ведущего нуля | от 1 до 31 |
d | День месяца, 2 цифры с ведущим нулём | от 01 до 31 |
l | Полное наименование дня недели | от Sunday до Saturday |
D | День недели, 3 символа | от Mon до Sun |
z | Порядковый номер дня в году | От 0 до 365 |
Неделя | ||
N | Порядковый номер дня недели | от 1 (понедельник) до 7 (воскресенье) |
W | Порядковый номер недели года | Например: 42 (42-я неделя года) |
Месяц | ||
n | Порядковый номер месяца без ведущего нуля | от 1 до 12 |
m | Порядковый номер месяца с ведущим нулём | от 01 до 12 |
F | Полное название месяца | от January до December |
M | Сокращенное наименование месяца, 3 символа | от Jan до Dec |
t | Количество дней в месяце | от 28 до 31 |
Год | ||
Y | Год, 4 цифры | 2019 |
y | Год, 2 цифры | 19 |
Время | ||
g | Часы в 12-часовом формате без ведущего нуля | от 1 до 12 |
h | Часы в 12-часовом формате с ведущим нулём | от 01 до 12 |
G | Часы в 24-часовом формате без ведущего нуля | от 0 до 23 |
H | Часы в 24-часовом формате с ведущим нулём | от 00 до 23 |
i | Минуты с ведущим нулём | от 00 до 59 |
s | Секунды с ведущим нулём | от 00 до 59 |
v | Миллисекунды | 123 |
Полная дата/время | ||
c | Дата в формате ISO 8601 | 2004-02-12T15:19:21+00:00 |
r | Дата в формате RFC 2822 | Thu, 21 Dec 2000 16:01:07 +0200 |
дд.мм.ггг (dd.mm.yyyy)
Самый распространенные форматы: dd.mm.yyyy и dd.mm.yyyy hh:ss .
echo date('d.m.Y'); // 20.07.2023 echo date('d.m.Y H:i'); // 20.07.2023 00:16 echo date('d.m.Y H:i:s'); // 20.07.2023 00:16:11
гггг-мм-дд (yyyy.mm.dd)
Используется в MySQL тип поля DATE.