使用esc_attr()以法语打印月份名称

时间:2019-11-20 作者:user5447339

我正在编写一个PHP代码,其中我想用法语显示月份名称。

 <?php 
 if (false !== strpos($translated_tz[\'diff\'], \'-\')) {
            $ts = date_sub($altered_timestamp, date_interval_create_from_date_string($translated_tz[\'diff\']));
 } else {
            $ts = date_add($altered_timestamp, date_interval_create_from_date_string($translated_tz[\'diff\']));
 }
 ?>
 <?php if (ICL_LANGUAGE_CODE == \'fr\') {    

 <?php echo esc_attr(date_format($ts, \'j F \')) . \'<span>\' . esc_attr(date_format($ts, \'H:i\')) . \'</span>\'; ?>  // Line A

 <?php } ?>
第A行的代码显示以下内容(in which month name is in English):

 20 November 03:56

Problem Statement:

我想知道我应该在上面的PHP代码中做些什么更改,以便它以法语显示月份名称。

1 个回复
SO网友:MarkPraschan

这是我的解决方案,它已经过测试并运行良好:

// Timestamp to format (defaults to current time)
$timestamp = time();

// Set language code
$dateformat = new IntlDateFormatter(
    \'fr_FR\', // Use valid Locale format
    IntlDateFormatter::LONG, IntlDateFormatter::NONE
);

// Set date format
$dateformat->setPattern(\'MMMM\');

// Echo (and capitalize) formatted timestamp
echo ucfirst( $dateformat->format( $timestamp ) );
这里似乎可以找到许多有效的地区:https://gist.github.com/jacobbubu/1836273

相关推荐

无法将ACF DatePicker值转换为DateTime对象-给我一个布尔值

我一直收到这个错误Call to a member function modify() on boolean 使用此代码$date_value = the_sub_field( \'date_string\' ); $date = DateTime::createFromFormat(\'d/m/Y\', $date_value); $date->modify(\'+1 day\'); 最后一行给了我一个错误。我的两种格式(在ACF中显示和返回)都相同\'d/m/Y\'真