strptime
(PHP 5 >= 5.1.0, PHP 7)
strptime — Разбирает строку даты/времени сгенерированную функцией strftime()
Описание
$date
, string $format
)
strptime() возвращает массив с данными разбора
строки date
, либо FALSE
в случае ошибки.
Названия месяцев и недель, а также другие названия, зависящие от
языка, соответствуют текущим настройкам местоположения, установленным
посредством setlocale() (LC_TIME
).
Список параметров
-
date
(string) -
Строка для разбора (например строковый результат выполнения функции strftime()).
-
format
(string) -
Формат строки
date
(например формат, используемый в функции 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" |
Часть date , которую не удалось
распознать в соответствии с format
|
Примеры
Пример #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() лишена этого недостатка и рекомендована к использованию в PHP версий 5.3.0 и выше.
Замечание:
"tm_sec" включает несколько секунд високосного года (на данный момент до 2-х в год). Для получения дополнительной информации о високосных секундах читайте » статью на википедии.
Замечание:
В PHP версий до 5.2.0 эта функция может работать непредсказуемо. В особенности элементы "tm_sec", "tm_min" и "tm_hour" могут содержать неопределенные значения.
Смотрите также
- checkdate() - Проверяет корректность даты по григорианскому календарю
- strftime() - Форматирует текущую дату/время с учетом текущих настроек локали
- date_parse_from_format() - Получение информации о заданной в определенном формате дате
- DateTime::createFromFormat() - Создает и возвращает экземпляр класса DateTime, соответствующий заданному формату
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с датой и временем
- Дата и Время
- checkdate
- date_add
- date_create_from_format
- date_create_immutable_from_format
- date_create_immutable
- date_create
- date_date_set
- date_default_timezone_get
- date_default_timezone_set
- date_diff
- date_format
- date_get_last_errors
- date_interval_create_from_date_string
- date_interval_format
- date_isodate_set
- date_modify
- date_offset_get
- date_parse_from_format
- date_parse
- date_sub
- date_sun_info
- date_sunrise
- date_sunset
- date_time_set
- date_timestamp_get
- date_timestamp_set
- date_timezone_get
- date_timezone_set
- date
- getdate
- gettimeofday
- gmdate
- gmmktime
- gmstrftime
- idate
- localtime
- microtime
- mktime
- strftime
- strptime
- strtotime
- time
- timezone_abbreviations_list
- timezone_identifiers_list
- timezone_location_get
- timezone_name_from_abbr
- timezone_name_get
- timezone_offset_get
- timezone_open
- timezone_transitions_get
- timezone_version_get
Коментарии
Best replacement for this function seems to be "date_parse". Note that the returned array keys change from things like "tm_year" to simpler names like "year". Fwiw, "date_parse_from_format" did not look like a good replacement to me---even though I updated my format string ("i" is used for minute instead of "M"), it returned errors for a straightforward format ("%Y-%m-%d %H:%i:%S").