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() - Получение информации о заданной в определённом формате дате