2011-09-05 18 views
6

ho questo codice:cambio di nome mese a Francese

<?php 
    echo "'".$sgps_newsletter->getEmail()."' demande en ".date('d.M.Y', strtotime($sgps_newsletter->getCreatedAt())) 
?> 

ma il nome del mese è appering in inglese. Cosa posso fare per mostrarlo in francese? Ho cambiato la cultura predefinita settings.yml in francese, ma non succede nulla.

risposta

11

So che questo è vecchio ma per chiunque ancora stia cercando, una risposta più completa per la tua data in francese sarebbe:

//set locale 
setlocale(LC_TIME, "fr_FR"); 

Poi

//echo date/formatting based on your locale, in this case, for French 
echo strftime("le %d %B, %Y", strtotime($sgps_newsletter->getCreatedAt()))); 
//without day of the week = le 18 septembre, 2013 

O

echo strftime("%A le %d %B, %Y", strtotime($sgps_newsletter->getCreatedAt()))); 
//with day of the week = mercredi le 18 septembre, 2013 

O

echo strftime("%d/%m/%Y", strtotime($sgps_newsletter->getCreatedAt()))) 
//numerical, separated by '/' = 18/9/2013 
7
# -------------------- 
# METHOD 1 
# -------------------- 
# set locale first 
setlocale (LC_TIME, 'fr_FR.utf8','fra'); 
// setlocale(LC_TIME, 'fr_FR.UTF8'); 
// setlocale(LC_TIME, 'fr_FR'); 
// setlocale(LC_TIME, 'fr'); 
// setlocale(LC_TIME, 'fra_fra'); 
# Examples using current time 
echo strftime('%Y-%m-%d %H:%M:%S'); // 2015-03-02 17:58:50 
echo strftime('%A %d %B %Y, %H:%M'); // lundi 02 mars 2015, 17:58 
echo strftime('%d %B %Y');   // 02 mars 2015 
echo strftime('%d/%m/%y');   // 02/03/15 
# Example with given timestamp 
$timestamp = time() ; // Any timestamp will do 
echo strftime("%d %B %Y", $timestamp) ; // 02 mars 2015 

# -------------------- 
# METHOD 2 
# -------------------- 
# using arrays without setting the locale (not recommanded) 
$day = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"); 
$month = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"); 
// Now 
$date = explode('|', date("w|d|n|Y")); 
// Given time 
$timestamp = time() ; 
$date = explode('|', date("w|d|n|Y", $timestamp)); 
echo $day[$date[0]] . ' ' . $date[1] . ' ' . $month[$date[2]-1] . ' ' . $date[3] ; // Lundi 02 mars 2015