【发布时间】:2019-11-20 23:27:32
【问题描述】:
我正在编写如下所示的 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
问题陈述:
我想知道我应该在 Line A above 的上面的 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 行仍然返回英文。
【问题讨论】:
-
@GufranHasan 不是真的。由于 WordPress 框架,这个问题有不同的答案,这些答案更适用于这个特定的实例。
-
但也使用PHP函数
strftime和setlocale。 -
是的,WordPress 内部有过滤器有时会干扰基于日期时间的功能。还应应用其他标准以适应您正在使用的框架。
-
首先,date_format 不使用语言环境。输出总是英文的,所以你需要使用另一种方法
标签: php wordpress date locale french