我正在处理下面的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
无论系统配置的语言环境如何。