1 回答
TA贡献1835条经验 获得超7个赞
PHP 已经帮您解决了:)
setlocale(LC_TIME, 'fr_FR');
$dateString = '2020-08-08';
$timestamp = strtotime($dateString);
$formattedDate = strftime('%d %B %Y', $timestamp);
//setlocale(LC_ALL, Locale::getDefault()); // restore (if neccessary)
echo utf8_encode($formattedDate);
输出
08 août 2020
为了得到这1er
一天,你可以做你已经做过的事情。只需拆分 strftime(或其结果)即可。
参考
时间
设置语言环境
另一个解决方案(尽管会按顺序显示所有日期)
$locale = 'fr_FR';
$dateString = '2020-08-01';
$date = new DateTimeImmutable($dateString);
$dateFormatter = new IntlDateFormatter(
$locale,
IntlDateFormatter::FULL,
NULL
);
$numberFormatter = new NumberFormatter($locale, NumberFormatter::ORDINAL);
$ordinalDay = $numberFormatter->format($date->format('d'));
$dateFormatter->setPattern('LLLL Y');
echo $ordinalDay . ' ' . $dateFormatter->format($date->getTimestamp());
输出
1er août 2020
参考
DateFormatter 的模式
数字格式化程序
- 1 回答
- 0 关注
- 71 浏览
添加回答
举报