如何在PHP中以法语中的硬码月份名称



我正在处理下面的php/javaScript代码,该代码以法语返回月份,但它与我们使用的法语单词不符。

<script>
document.getElementById('title_fr').value = "<?php setlocale(LC_TIME, "frc"); echo strftime("%d %b %Y", strtotime( $this_date )); ?>"; 
</script>

上面的脚本以法语返回月份的名称,这与我们的月份名称不匹配法语。

mars
avr.
mai
juin
juil.
août
sept.
oct. 
nov.
déc.

以下是我们遵循的法语的月份名称:

janvier
février
mars
avril
mai
juin
juillet
août
septembre
octobre
novembre
décembre

问题语句:

我想知道我需要在上面的脚本中做出什么变化,以便它以法语为"我正在关注的法语"。

我相信我需要创建一个阵列,如下所示,以法语为单位的月份。

const monthNamesFr = ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"];

,因为这似乎是在做技巧(从评论部分)。而不是在数组中进行硬编码日期,只需从strftime()函数中要求整个月:

 setlocale(LC_TIME, "frc"); echo strftime("%d %B %Y", strtotime( $this_date ));

我建议在法国使用有效的语言环境,例如法语的fr_FR。此外,根据strftime()文档使用%B用于整个月份的名称。

$this_date = '2018-04-03 12:12:12';
setlocale(LC_TIME, "fr_FR");
echo strftime('%d %B %Y', strtotime($this_date)); // 03 avril 2019

无论系统配置的语言环境如何。

最新更新