strptime

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

strptime Разбирает строку даты/времени, сгенерированную функцией strftime()

Внимание

Функция объявлена УСТАРЕВШЕЙ начиная с PHP 8.1.0. Использовать эту функцию крайне не рекомендуется.

Описание

strptime(string$timestamp, string$format): array|false

strptime() возвращает массив с данными разбора строки timestamp, либо false в случае возникновения ошибки.

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

Список параметров

timestamp (string)

Строка для разбора (например, строковый результат выполнения функции strftime()).

format (string)

Формат строки timestamp (например, формат, используемый в функции strftime()). Следует обратить внимание на тот факт, что не все возможности форматирования используемые в strftime() будут обрабатываться в strptime(); набор поддерживаемых символов форматирования зависит от ОС и используемой С-библиотеки.

За дополнительной информацией о возможностях форматирования обращайтесь на страницу описания функции strftime().

Возвращаемые значения

Возвращает массив или false, если возникла ошибка.

Список элементов возвращаемого массива
параметрыОписание
"tm_sec" Секунды после минут (0-61)
"tm_min" Минуты после часов (0-59)
"tm_hour" Часы после полуночи (0-23)
"tm_mday"День месяца (1-31)
"tm_mon"Месяцы после января (0-11)
"tm_year"Годы после 1900
"tm_wday"Дни после воскресенья (0-6)
"tm_yday"Дни после 1-го января (0-365)
"unparsed" Часть timestamp, которую не удалось распознать в соответствии с format

Список изменений

ВерсияОписание
8.1.0 Функция объявлена устаревшей. Вместо неё используйте date_parse_from_format() (для синтаксического анализа, не зависящего от языкового стандарта) или IntlDateFormatter::parse() (для синтаксического анализа, зависящего от языкового стандарта).

Примеры

Пример #1 Пример использования strptime()

<?php
$format
= '%d/%m/%Y %H:%M:%S';
$strf = strftime($format);

echo
"$strf\n";

print_r(strptime($strf, $format));
?>

Вывод приведённого примера будет похож на:

03/10/2004 15:54:19 Array ( [tm_sec] => 19 [tm_min] => 54 [tm_hour] => 15 [tm_mday] => 3 [tm_mon] => 9 [tm_year] => 104 [tm_wday] => 0 [tm_yday] => 276 [unparsed] => )

Примечания

Замечание: Для Windows-платформ эта функция не реализована.

Замечание:

В действительности эта функция вызывает библиотечную функцию strptime(). В различных ОС поведение функции может сильно различаться. Функция date_parse_from_format() лишена этого недостатка и рекомендована к использованию.

Замечание:

"tm_sec" включает несколько секунд високосного года (на данный момент до 2-х в год). Для получения дополнительной информации о високосных секундах читайте » статью на википедии.

Смотрите также

  • IntlDateFormatter::parse() - Преобразовывает строку в значение отметки времени
  • DateTime::createFromFormat() - Разбирает строку с датой согласно указанному формату
  • checkdate() - Проверяет корректность даты по григорианскому календарю
  • strftime() - Форматирует текущую дату/время с учётом текущих настроек локали
  • date_parse_from_format() - Получение информации о заданной в определённом формате дате
To Top