(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
IntlDateFormatter::localtime -- datefmt_localtime — Разбирает строку на отдельные составляющие времени, которые возвращает в ассоциативном массиве
Объектно-ориентированный стиль
Процедурный стиль
Функция преобразовывает строку $value в массив полей, каждое из которых представляет отдельный компонент времени. Функция начинает с позиции, которую определили в параметре $parse_pos, с захватом как можно большей части входного значения.
formatterСредство форматирования.
stringСтрока, которую требуется преобразовать в массив отдельных составляющих времени.
offset
Позиция, с которой функция начнёт разбор значения $value, в котором индексация символов начинается с нуля.
Функция присвоит параметру $parse_pos значение -1, если до конца разбора строки $value не возникло ошибок,
иначе присвоит позицию, на которой закончился синтаксический анализ.
Разбор немедленно завершается ошибкой,
если выполняется условие выражения $parse_pos > strlen($value).
Функция возвращает массив целочисленных значений. Структура массива совместима с форматом представления местного времени функцией localtime:
содержит 24-часовое значение в поле tm_hour или false, если возникла ошибка.
Пример #1 Пример преобразования строки в значение времени на основе поля функцией datefmt_localtime()
<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
$arr = datefmt_localtime($fmt, 'Wednesday, December 31, 1969 at 4:00:00 PM Pacific Standard Time', $offset);
echo 'Результат разбора: ';
if ($arr) {
foreach ($arr as $key => $value) {
echo "$key : $value, ";
}
}
?>Пример #2 Пример использования в объектно-ориентированном стиле
<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
$arr = $fmt->localtime('Wednesday, December 31, 1969 at 4:00:00 PM Pacific Standard Time', $offset);
echo 'Результат разбора: ';
if ($arr) {
foreach ($arr as $key => $value) {
echo "$key: $value, ";
}
}
?>Результат выполнения приведённого примера:
Результат разбора: tm_sec: 0, tm_min: 0, tm_hour: 16, tm_year: 69, tm_mday: 31, tm_wday: 3, tm_yday: 365, tm_mon: 11, tm_isdst: 0,