International PHP Conference Berlin 2025

strptime

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

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

Внимание

Функция УСТАРЕЛА с PHP 8.1.0. Пользоваться функцией настоятельно не рекомендуют.

Описание

#[\Deprecated]
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() системной библиотеки на языке C. Поведение функции в одной операционной системе иногда значительно отличается от поведения в другой. Функция date_parse_from_format() лишена этого недостатка, поэтому рекомендуют вызывать её.

Замечание:

Элемент "tm_sec" включает високосные секунды — до двух в год. Подробнее о високосных секунды рассказывает статья » о високосной секунде на сайте Википедии.

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

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

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top