(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"включает високосные секунды — до двух в год. Подробнее о високосных секунды рассказывает статья » о високосной секунде на сайте Википедии.