php - 在 php 中以法语显示月份名称?

标签 php wordpress date locale french

我正在编写如下所示的 php 代码:

<?php <time datetime="<?php  echo esc_attr(date_format($ts, 'H:i d-m-Y'))  ?>"
data-timezone="<?php  echo esc_attr($tz_param)  ?>"><?php echo esc_html(date_format($ts, 'F j  H:i')) ?></time> ?> // Line A 

A 行 返回网页上的以下日期:

July 10 21:30

print_r($ts) 打印:

DateTime Object
(
    [date] => 2019-07-10 21:30:00.000000
    [timezone_type] => 3
    [timezone] => America/New_York
)
July 10  21:30

问题陈述:

我想知道我应该在 上面 A 行 的 php 代码中做哪些更改,以便当页面是法语时,它应该以法语返回日期.

这就是我已经尝试过,但它仍然以英语返回日期

<?php if(ICL_LANGUAGE_CODE=='fr'){
setlocale(LC_TIME, 'fr_FR');
?>
<time datetime="<?php echo esc_attr(date_format($ts, 'H:i d-m-Y')) ?>"
   data-timezone="<?php echo esc_attr($tz_param) ?>"><?php echo strftime(esc_html(date_format($ts, 'F j  H:i'))) ?></time> // Line B
<?php } ?>

行 B 上面仍然返回英文。

最佳答案

你应该使用 intl扩展名:

$ts = new DateTime();
$formatter = new IntlDateFormatter('fr_FR', IntlDateFormatter::LONG, IntlDateFormatter::LONG);
$formatter->setPattern('MMMM d  HH:mm');

echo $formatter->format($ts);

列出了 setPattern 的可分配格式 here

关于php - 在 php 中以法语显示月份名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56985891/

相关文章:

wordpress - 已弃用 : WP_User_Query was called with an argument that is deprecated since version 5. 9.0!谁被弃用了

php - Wordpress 插件开发 : Override Default SMTP

php - 如何过滤特定日期的过去一周数据

PHP 包含 2 个使用相同函数名称的文件会导致重新声明错误?

php - 如何在读取 CSV 的 PHP SplFileObject 中支持非标准字符

PHP - 列数与第 1 行的值数不匹配

php - 找不到 Laravel 测试模拟对象方法

mysql - 哪个更好更快? WordPress 查询或 SQL 查询

javascript - Array.filter 返回空数组

java - Android 中简单格式日期解析失败