Bonjour,

Lorsque Grafikart affiche un commentaire sur son blog, il s'affiche comme ça :

Exemple : 5 Janvier 2010 à 14h27

Je ne suis arriver pour le moment qu'a afficher le "Janvier" en anglais ...
Ou de l'afficher comme ça : "Jan".

Voici un exemple de ce que j'ai fais (par une fonction date) : date('d F Y à H\hi').

Est-ce que quelqu'un pourrais m'aider à mettre le Mois en français ?

Cordialement,
Etix.

8 réponses


palmer08
Réponse acceptée

Il faut que tu passes par un array où il y a le mois en anglais et en français. Puis tu compares les deux avec un if et tu affiches le mois qui correspond en français.

$month = array('January' => 'Janvier', 'February' => 'Février' ...);
foreach($month as $mois_anglais => $mois_francais);
if($tavariable'mois'] == $mois_anglais){
echo $mois_francais;
}

Voilà tout simplement :)

Single Dark
Réponse acceptée

Salut

Tu as encore plus simple pour afficher une date en Français.

setlocale(LC_TIME, "fr_FR");
echo strftime("%A %B %Y à %Hh%M");

Tous simplement.

Badbart
Réponse acceptée

Test

setlocale(LC_TIME, 'fr_FR.utf8','fra')
Geetix
Auteur
Réponse acceptée

Ca marche nickel merci bien badbart :)
Par contre, pourquoi mettre de .utf8 ?

Geetix
Auteur

Merci pour ta réponse,
mais j'ai ça qui s'affiche chez moi : Wednesday January 2011 à 13h54

Donc en anglais ... Je comprend pas, pourtant j'ai bien mis le setlocale() comme tu m'as dit !

Le système de palermo8 ne peut pas marcher pour ce que je veux faire (ça risque d'être trop compliquer) ! Merci quand même !

L'UTF8 c'est l'encodage de tes caractères, çà passe mieux au niveau des accents.

peace 4all

pour connaitre le jour en français:

function nom_jour_fr($date) {
    $jour_semaine = array(1=>"lundi", 2=>"mardi", 3=>"mercredi", 4=>"jeudi", 5=>"vendredi", 6=>"samedi", 7=>"dimanche");
    list($annee, $mois, $jour) = explode ("-", $date);
    $timestamp = mktime(0,0,0, date($mois), date($jour), date($annee));
    $njour = date("N",$timestamp);
    return $jour_semaine$njour];
}

et pour connaitre le mois en fr

function nom_mois_fr($date) {
    $mois_fr = array(1=>"janvier", 2=>"fevrier", 3=>"mars", 4=>"avril", 5=>"mai", 6=>"juin", 7=>"juillet", 8=>"aout", 9=>"septembre", 10=>"octobre", 11=>"novembre", 12=>"décembre");
    list($annee, $mois, $jour) = explode ("-", $date);

    return $mois_fr$mois];
}

et ainsi tu auras a appeler la fonction que tu veux

Geetix
Auteur

Merci merci ! C'est très clair !
Le setlocale(LC_TIME, 'fr_FR.utf8','fra') me suffit amplement pour le moment.

Je retiens tout de même ton code fort intéressant !