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

# strptime

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

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

Внимание

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

### Описание

#[\Deprecated]
function 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() - Разбирает строку с датой по заданному формату

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open