IntlDatePatternGenerator::getBestPattern

(PHP 8 >= 8.1.0)

IntlDatePatternGenerator::getBestPattern — ă‚‚ăŁăšă‚‚é©ćˆă—ăŸ 旄付/æ™‚ćˆ» ăźăƒ•ă‚©ăƒŒăƒžăƒƒăƒˆă‚’æ±ș漚する

èȘŹæ˜Ž

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

ç‰čćźšăźăƒ­ă‚±ăƒŒăƒ«ă«ă‚‚ăŁăšă‚‚ćˆè‡Žă—ăŸ 旄付/æ™‚ćˆ»ăźăƒ•ă‚©ăƒŒăƒžăƒƒăƒˆăŒă©ă‚Œă‹ă‚’æ±șćźšă—ăŸă™ă€‚

ăƒ‘ăƒ©ăƒĄăƒŒă‚ż

skeleton

ă‚čă‚±ăƒ«ăƒˆăƒłă‚’æŒ‡ćźšă—ăŸă™ă€‚

æˆ»ă‚Šć€€

æˆćŠŸæ™‚ă« IntlDateFormatter ăŒć—ă‘ć…„ă‚Œă‚‹ ICU た 旄付/æ™‚ćˆ» ăƒ‘ă‚żăƒŒăƒłă‚’èż”ă—ăŸă™ă€‚ ć€±æ•—ă—ăŸć Žćˆă« 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
'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
4
ICU User ¶
3 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".