2015-08-10 4 views
1

J'ai ce script:Obtenir le nom des mois en français langue

et voici le résultat: 10 august 2015.

Cependant, j'ai besoin de la sortie en français. Aucune suggestion?

+0

Quelle plate-forme d'exploitation? (les codes de locale sont différents sur Windows à * nix) Est-ce que l'appel de setLocale() renvoie un Boolean false? –

+1

Cela fonctionne? Je l'ai juste essayé sur mon serveur, et j'obtiens le '10 août 2015' en conséquence. Si ce n'est pas le cas, la langue peut ne pas être installée ou prise en charge pour votre serveur. – Qirel

Répondre

1

Votre code devrait fonctionner. Vous pouvez le faire de cette façon si setlocale ne fonctionne pas sur votre serveur et vous n'êtes pas en mesure de le corriger:

<?php 

    $mos  = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"); 
    $index  = date("n")-1; 
    $mo   = $mos[$index]; 

    echo date("d ") . $mo . date(" Y"); 

?> 

Résultat:

10 août 2015

0

Auparavant, j'utilisais setlocale() et strftime() aussi, mais il s'est avéré être lent et compliqué (en particulier à cause des effets secondaires, vous voudriez sauvegarder et restaurer les paramètres régionaux précédents). Je me suis retrouvé avec une recherche stupide et de remplacer. Vous pouvez prendre cette inspiration:

class MyCarbon extends Carbon\Carbon 
{ 
    public function fr($format) 
    {  
     $replacements = [ 
      'Monday' => 'lundi', 
      'Tuesday' => 'mardi', 
      'Wednesday' => 'mercredi', 
      'Thursday' => 'jeudi', 
      'Friday' => 'vendredi', 
      'Saturday' => 'samedi', 
      'Sunday' => 'dimanche', 

      'January' => 'janvier', 
      'February' => 'février', 
      'March'  => 'mars', 
      'April'  => 'avril', 
      'May'  => 'mai', 
      'June'  => 'juin', 
      'July'  => 'juillet', 
      'August' => 'août', 
      'September' => 'septembre', 
      'October' => 'octobre', 
      'November' => 'novembre', 
      'December' => 'décembre', 
     ]; 

     $from = array_keys($replacements); 
     $to = array_values($replacements); 

     return str_replace($from, $to, $this->format($format)); 
    } 
} 
0

Pour Meta Tag Tittle:

$month  = array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");  

$monthindex  = date("n")-1; 

$month   = $month[$monthindex]; 

$current_date = ucwords(strftime("$month %Y"));