PHP Conference Nagoya 2025

IntlDatePatternGenerator::getBestPattern

(PHP 8 >= 8.1.0)

IntlDatePatternGenerator::getBestPatternОпределяет наиболее подходящий формат даты/времени

Описание

public IntlDatePatternGenerator::getBestPattern(string $skeleton): string|false

Определяет, какой формат даты/времени наиболее подходит для конкретной локали.

Список параметров

skeleton

Каркас.

Возвращаемые значения

Возвращает формат, принимаемый DateTimeInterface::format() в случае успешного выполнения, или false, если возникла ошибка.

Примеры

Пример #1 Пример использования IntlDatePatternGenerator::getBestPattern()

<?php

$skeleton
= 'YYYYMMdd';
$today = \DateTimeImmutable::createFromFormat('Y-m-d', '2021-04-24');

$patternGenerator = new \IntlDatePatternGenerator('de_DE');
$pattern = $patternGenerator->getBestPattern($skeleton);
echo
'Немецкий: ', \IntlDateFormatter::formatObject($today, $pattern, 'de_DE'), "\n";

$patternGenerator = new \IntlDatePatternGenerator('en_US');
$pattern = $patternGenerator->getBestPattern($skeleton);
echo
'Английский: ', \IntlDateFormatter::formatObject($today, $pattern, 'en_US');
?>

Результат выполнения приведённого примера:

Немецкий: 24.04.2021
Английский: 04/24/2021

Добавить

Примечания пользователей 1 note

up
3
ICU User
2 years ago
Use pattern letter "j" in skeleton to get a localized time string: https://unicode-org.github.io/icu/userguide/format_parse/datetime/index#datetimepatterngenerator

"j" gets mapped to one of "H", "h", "k" or "K".
To Top