(PHP 5 >= 5.1.0, PHP 7, PHP 8)
strptime — Разбирает строку даты и времени, которую сгенерировала функция strftime()
Функция УСТАРЕЛА с PHP 8.1.0. Пользоваться функцией настоятельно не рекомендуют.
Функция 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"
включает високосные секунды — до двух в год. Подробнее о високосных секунды рассказывает статья » о високосной секунде на сайте Википедии.