PHP 8.3.0 RC 6 available for testing

IntlDatePatternGenerator::getBestPattern

(PHP 8 >= 8.1.0)

IntlDatePatternGenerator::getBestPatternDetermines the most suitable date/time format

说明

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

Determines which date/time format is most suitable for a particular locale.

参数

skeleton

The skeleton.

返回值

Returns a format, accepted by DateTimeInterface::format() on success, 或者在失败时返回 false.

示例

示例 #1 IntlDatePatternGenerator::getBestPattern() example

<?php

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

$patternGenerator = new \IntlDatePatternGenerator('de_DE');
$pattern = $patternGenerator->getBestPattern($skeleton);
echo
'de: ', \IntlDateFormatter::formatObject($today, $pattern, 'de_DE'), "\n";

$patternGenerator = new \IntlDatePatternGenerator('en_US');
$pattern = $patternGenerator->getBestPattern($skeleton);
echo
'en: ', \IntlDateFormatter::formatObject($today, $pattern, 'en_US');
?>

以上示例会输出:

 
de: 24.04.2021
en: 04/24/2021

add a note

User Contributed Notes 1 note

up
1
ICU User
1 year 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