IntlDateFormatter :: getPattern返回错误的模式

时间:2016-06-29 12:48:17

标签: php datetime internationalization

我正在使用DateTime格式化Carbon\CarbonIntlDateFormatter)个日期。 但是,在每种情况下,模式都与格式化日期不匹配。我注意到德语设置:

$datetime = DateTime::createFromFormat('Y-m-d', '2016-06-27');
$locale = 'de';
$timezone = 'Europe/Berlin';

$datetype = IntlDateFormatter::MEDIUM;
$timetype = IntlDateFormatter::NONE;

$intlDateFormatter = new IntlDateFormatter($locale, $datetype, $timetype, $timezone);

$pattern = $intlDateFormatter->getPattern();

$date = $intlDateFormatter->format($datetime);

$date正确返回27.06.2016。但是$pattern会返回dd.MM.y。 这有什么不对?

1 个答案:

答案 0 :(得分:0)

好吧,我刚刚发现返回的模式不是php而是CLDR模式。这些日期模式被描述为here 下一步:搜索将CLDR模式转换为php模式的最佳方法。