2014-01-29 38 views
4

我要打印日期法语,如:PHP打印法语月?

le 25 février 2014 

这是我的PHP代码我使用,但它不工作。

setlocale(LC_ALL, 'fr_FR'); 
echo strftime("%A, %e %B, %Y"); 
echo "<br>"; 
setlocale(LC_TIME, "fr_FR"); 
echo strftime(" in French %A, %e %B, %Y and"); 

输出:

January 29, 2014 
Wednesday, 29 January, 2014 
in French Wednesday, 29 January, 2014 and 
+1

您的系统可能没有一个名为'fr_FR'的区域设置。它可能有一个法国语言环境,但名称不同。有关尝试以及如何查找可用区域设置名称的提示位于'setlocale'的手册页面上。 – CBroe

回答

-1

我一般做一个str_replace这样的(德国,因为我不知道新鲜)。

$date = str_replace(
    array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'), 
    array('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'), 
    $date 
); 
+1

没有评论Downvoted?这种方法有什么问题吗? –

0

您还可以尝试一个空字符串。它应该自动使用你的操作系统的语言(当然,只有当你的操作系统是法语的时候它才会起作用)。

setlocale(LC_TIME, ''); 
4

此作品(测试)

,它将打印:

当前日期:星期三2014年1月29日
日在法国=> Mercredi 29维耶2014

你只需要调整它以按照你喜欢的方式进行格式化。

<?php 
// enter date format 2011-01-31 (Y-m-d) 
function date_in_french ($date){ 
$week_name = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"); 
$month_name=array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août", 
"Septembre","Octobre","Novembre","Décembre"); 

$split = preg_split('/-/', $date); 
$year = $split[0]; 
$month = round($split[1]); 
$day = round($split[2]); 

$week_day = date("w", mktime(12, 0, 0, $month, $day, $year)); 
return $date_fr = $week_name[$week_day] .' '. $day .' '. $month_name[$month] .' '. $year; 
} 
$currentDate=date('Y-m-d'); 
echo "Current Date: "; 
echo date('D')." ".date('d')." ".date('M')." ".date('Y'); 
echo "<br>"; 
echo "Date in French => ".date_in_french($currentDate); 
1

首先,你必须设置的地点..恩UTF-8

<? 
setlocale (LC_TIME, 'fr_FR.utf8','fra'); 
echo (strftime("%A %d %B")); 
?> 

如果您的服务器不接受它,你必须使用数组并更换..

1

还有就是函数,你正在寻找我使用case

function getmounth($_mountnmbr) 
{ 
switch ($_mountnmbr) { 
    case '01': 
     return 'Janvier'; 
     break; 
    case '02': 
     return 'Février'; 
     break; 
    case '03': 
     return 'Mars'; 
     break; 
    case '04': 
     return 'Avril'; 
     break; 
    case '05': 
     return 'Mai'; 
     break; 
    case '06': 
     return 'Juin'; 
     break; 
    case '07': 
     return 'Juillet'; 
     break; 
    case '08': 
     return 'Août'; 
     break; 
    case '09': 
     return 'Septembre'; 
     break; 
    case '10': 
     return 'Octobre'; 
     break; 
    case '11': 
     return 'Novembre'; 
     break; 
    case '12': 
     return 'Décembre'; 
     break; 
    } 
}