Описание string date ( string format [, int timestamp] )
Замечание: Для большинства систем допустимыми являются даты с 13 декабря 1901, 20:45:54 GMT по 19 января 2038, 03:14:07 GMT. (Эти даты соответствуют минимальному и максимальному значению 32-битового целого со знаком). Для Windows допустимы даты с 01-01-1970 по 19-01-2038.
Таблица 1. В параметре format распознаются следующие символы
Пример 1. Примеры использования функции date()
// вывод дня недели, например Wednesday echo date ( «l» );
// вывод даты в формате: Wednesday 15th of January 2003 05:51:38 AM echo date ( «l dS of F Y h:i:s A» );
Пример 2. Экранирование символов в функции date()
// вывод: Wednesday the 15th echo date ( «l \\t\h\e jS» ); ?>
Пример 4. Форматирование с использованием date()
// Предположим, что текущая дата March 10th, 2001, 5:16:18 pm
$today = date ( «F j, Y, g:i a» ); // March 10, 2001, 5:16 pm $today = date ( «m.d.y» ); // 03.10.01 $today = date ( «j, n, Y» ); // 10, 3, 2001 $today = date ( «Ymd» ); // 20010310 $today = date ( ‘h-i-s, j-m-y, it is w Day z ‘ ); // 05-16-17, 10-03-01, 1631 1618 6 Fripm01 $today = date ( ‘\i\t \i\s \t\h\e jS \d\a\y.’ ); // It is the 10th day. $today = date ( «D M j G:i:s T Y» ); // Sat Mar 10 15:16:08 MST 2001 $today = date ( ‘H:m:s \m \i\s\ \m\o\n\t\h’ ); // 17:03:17 m is month $today = date ( «H:i:s» ); // 17:16:17 ?>
Шаблон результирующей строки ( string ) с датой. См. параметры форматирования ниже. Также существует несколько предопределенных констант даты/времени, которые могут быть использованы вместо этих параметров. Например: DATE_RSS заменяет шаблон ‘D, d M Y H:i:s’.
Возвращаемые значения
Ошибки
Список изменений
Версия
Описание
5.1.0
Допустимым диапазоном дат для временных меток обычно являются даты с 13 декабря 1901, 20:45:54 GMT по 19 января 2038, 03:14:07 GMT. (Они соответствуют минимальному и максимальному значению 32-битного целого числа со знаком). Однако для PHP версии ниже 5.1.0 в некоторых операционных системах (например, Windows) этот диапазон был ограничен датами 01-01-1970 до 19-01-2038.
5.1.0
Примеры
Пример #1 Примеры использования функции date()
// установка временной зоны по умолчанию. Доступно начиная с версии PHP 5.1 date_default_timezone_set ( ‘UTC’ );
// выведет примерно следующее: Monday echo date ( «l» );
// выведет примерно следующее: Monday 8th of August 2005 03:12:46 PM echo date ( ‘l jS \of F Y h:i:s A’ );
Чтобы запретить распознавание символа как форматирующего, следует экранировать его с помощью обратного слеша. Если экранированный символ также является форматирующей последовательностью, то следует экранировать его повторно.
Пример #2 Экранирование символов в функции date()
Пример #3 Пример совместного использования функций date() и mktime()
Данный способ более надежен, чем простое вычитание и прибавление секунд к метке времени, поскольку позволяет при необходимости гибко осуществить переход на летнее/зимнее время.
Пример #4 Форматирование с использованием date()
// Предположим, что текущей датой является 10 марта 2001, 5:16:18 вечера, // и мы находимся во временной зоне Mountain Standard Time (MST)
$today = date ( «F j, Y, g:i a» ); // March 10, 2001, 5:16 pm $today = date ( «m.d.y» ); // 03.10.01 $today = date ( «j, n, Y» ); // 10, 3, 2001 $today = date ( «Ymd» ); // 20010310 $today = date ( ‘h-i-s, j-m-y, it is w Day’ ); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01 $today = date ( ‘\i\t \i\s \t\h\e jS \d\a\y.’ ); // it is the 10th day. $today = date ( «D M j G:i:s T Y» ); // Sat Mar 10 17:16:18 MST 2001 $today = date ( ‘H:m:s \m \i\s\ \m\o\n\t\h’ ); // 17:03:18 m is month $today = date ( «H:i:s» ); // 17:16:18 $today = date ( «Y-m-d H:i:s» ); // 2001-03-10 17:16:18 (формат MySQL DATETIME) ?>
PHP-функция date() преобразует метку времени в более удобочитаемые дату и время.
Поскольку это непрактичный формат для чтения людьми, PHP преобразует временную метку в формат, понятный людям, и даты из вашей записи в метку времени, понятную компьютеру. Синтаксис PHP-функции date() можно задать с помощью.
Параметр формата в функции date() является обязательным, который определяет формат возвращаемых даты и времени. Однако метка времени (timestamp) является необязательным параметром; если она не указана, будут использоваться текущая дата и время. Следующая инструкция отображает сегодняшнюю дату:
PHP-функция date() возвращает текущую дату и время в соответствии со встроенными часами веб-сервера, на котором был выполнен скрипт.
Форматирование даты и времени с помощью PHP-функции date()
Параметр формата функции date() на самом деле представляет собой строку, которая может содержать несколько символов, что позволяет вам сгенерировать строку даты, содержащую различные компоненты даты и времени, такие как день недели, AM или PM и т. д. Вот некоторые из символов форматирования, связанные с датой, которые обычно используются в этой строке:
Точно так же вы можете использовать следующие символы для форматирования строки времени:
PHP-код в следующем примере отображает дату в разных форматах:
PHP-функция time()
Функция time() используется для получения текущего времени в виде метки времени Unix (количество секунд с начала эпохи Unix: 1 января 1970 г. 00:00:00 по Гринвичу).
PHP-функция mktime()
Функция mktime() используется для создания отметки времени на основе определенной даты и времени. Если дата и время не указаны, возвращается метка времени для текущей даты и времени.
Синтаксис функции mktime() может быть задан следующим образом:
В следующем примере отображается метка времени, соответствующая 15:20:12 10 мая 2014 года:
Функцию mktime() можно использовать для поиска названия дня недели, соответствующего определенной дате. Для этого просто используйте символ «l» (строчная буква «L») со своей меткой времени, как в следующем примере, который отображает день, приходящийся на 1 апреля 2014 года:
Функцию mktime() также можно использовать для поиска определенной даты в будущем по истечении определенного периода времени. Как в следующем примере, где отображается дата, которая наступает спустя 30 месяцев относительно 5 Марта 2014.
Полный справочник по датам PHP
Пожалуйста, ознакомьтесь с разделом справки по функциям даты и времени PHP, чтобы получить полный список всех полезных функций даты и времени доступных в PHP.
Похожие посты
Руководство по загрузке файлов на сервер в PHP
Руководство по GET и POST запросам в PHP
Список сообщений об ошибках в PHP
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка 5 / 5. Количество оценок: 1
Оценок пока нет. Поставьте оценку первым.
Разработка сайтов для бизнеса
Если у вас есть вопрос, на который вы не знаете ответ — напишите нам, мы поможем разобраться. Мы всегда рады интересным знакомствам и новым проектам.
Перед чтением см. новые уроки раздела «Важное», которые появились выше.
Практика
Движок PHP
Продвинутые БД
Аутентификация
Практика
ООП и MVC
Абстрактные классы и интерфейсы
Трейты
ООП Магия
Практика
Практика: классы как набор методов
Для работы с датами в PHP применяются различные функции. Мы начнем изучение с функции time.
Функция time, формат timestamp
Функция time возвращает разницу в секундах между 1-го января 1970 года и текущим моментом времени. Такое представление даты называется форматом timestamp.
Зачем нужен timestamp?
Время в формате timestamp используется для того, чтобы найти разницу между датами в секундах.
С помощью функции time мы можем получить только текущий момент времени. Чтобы получить timestamp за любую дату следует использовать функцию mktime:
Функция mktime
Функция mktime работает аналогично функции time, но, в отличие от нее, принимает параметры: mktime(час, минута, секунда, месяц, день, год) (обратите внимание на то, что месяц и день переставлены местами ). Посмотрите примеры работы:
Полученная разница в секундах будет выглядеть так: 683593692 (обновите страницу и это число поменяется).
Вооружившись знаниями о том, что такое формат timestamp (он нам еще понадобится в дальнейшем), изучим более полезные функции для работы с датами, например, функцию date.
Функция date
Функция date выводит текущие дату и время в заданном формате.
Формат задается управляющими командами (английскими буквами), при этом можно вставлять любые разделители между ними (дефисы, двоеточие и так далее).
Примеры работы с date:
Второй параметр функции date
Функция date имеет второй необязательный параметр, который принимает момент времени в формате timestamp. Если передать этот параметр, то функция date отформатирует не текущий момент времени, а тот, который передан вторым параметром. Этот timestamp можно получить, к примеру, через mktime (но не обязательно):
Функция strtotime
Следующая полезная функция, которую мы разберем, называется strtotime.
К примеру, я могу передать ей строку ‘2025-12-31’ и функция сама разберет, где тут год, где месяц, а где день, и вернет эту дату в формате timestamp.
Все форматы можно посмотреть тут.
Следующий код вернет дату предыдущего понедельника:
Как добавить или отнять дату
Пример 1
Давайте создадим объект с датой за 2025 год, 12 месяц, 31 день, затем прибавим к ней 1 день и выведем в формате ‘день.месяц.год’
Результат выполнения кода:
Пример 2
Давайте создадим объект с датой за 2025 год, 12 месяц, 31 день, затем прибавим к ней 3 дня и выведем в формате ‘день.месяц.год’
Результат выполнения кода:
Пример 3
Давайте создадим объект с датой за 2025 год, 12 месяц, 31 день, затем прибавим к ней 3 дня и 1 месяц и выведем в формате ‘день.месяц.год’
Результат выполнения кода:
Пример 4
Давайте создадим объект с датой за 2025 год, 1 месяц, 1 день, затем отнимем от нее 1 день и выведем в формате ‘день.месяц.год’
Результат выполнения кода:
Что вам делать дальше:
Приступайте к решению задач по следующей ссылке: задачи к уроку.
В распределенных системах, таких, как Интернет, время играет особую роль. Из-за незначительного расхождения системных часов игрок на рынке Forex может потерять десятки тысяч долларов в течение нескольких минут; система деловой разведки ошибется в составлении прогноза; серверы NNTP в процессе синхронизации потеряют важную информацию, нужную пользователю и т.д.
PHP-функции для работы с датой и временем
PHP содержит множество функций для работы с датой и временем. Наиболее употребимыми являются:
time() Возвращает текущее абсолютное время. Это число равно количеству секунд, которое прошло с полуночи 1 января 1970 года (с начала эпохи UNIX). getdate( ) Считывает информацию о дате и времени. Возвращает ассоциативный массив, содержащий информацию по заданному или по текущему (по умолчанию) времени. Массив содержит следующие элементы:
date() Форматирование даты и времени. Аргументы: строка формата и абсолютное время. Второй аргумент необязателен. Возвращает строку с заданной или текущей датой в указанном формате. Строка формата может содержать следующие коды:
Любая другая информация, включенная в строку формата, будет вставлена в возвращаемую строку. Если в строку формата нужно добавить символы, которые сами по себе являются кодами формата, то перед ними надо поставить обратную косую черту «\». Символы, которые становятся кодами формата при добавлении к ним обратной косой, нужно предварять двумя косыми. Например, если необходимо добавить в строку «n», то надо ввести «\\n», поскольку «\n» является символом новой строки.
Пример 2
РЕЗУЛЬТАТ ПРИМЕРА 2:
Сегодня 30.09.21 12:08
часы минуты секунды месяц день месяца год
Пример 3
РЕЗУЛЬТАТ ПРИМЕРА 3:
22 January 1971, at 1.30 pm, Friday
Внимание! Дата может находиться в допустимом диапазоне, но остальные функции работы с датами не примут это значение. Так, нельзя использовать mktime() для годов до 1902, а также следует использовать ее осторожно для годов до 1970.
Пример 4
РЕЗУЛЬТАТ ПРИМЕРА 4:
Thursday 30 September 2021 12:08 Сегодня Thursday 30 September 2021 12:08:27 MSK