IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

affichage d'une date en français


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Développeur
    Inscrit en
    Janvier 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 232
    Points : 112
    Points
    112
    Par défaut affichage d'une date en français
    Bonjour,

    Je récupère une date sous mysql et j'aimerais l'afficher en Français et avec les accents (UTF8) du type :
    Lundi 2 février 2015
    comment faire ? j'ai essayé plein de choses, mais il y a toujours qq chose qui coince !
    Merci pour votre aide

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Tu fais comment ?

    Il me semble qu'il faut utiliser http://php.net/manual/fr/function.strftime.php sur le résultat de ta requête, je crois pas que cette fonctionnalité soit disponible depuis les fonctions date de mysql.

  3. #3
    Membre régulier
    Profil pro
    Développeur
    Inscrit en
    Janvier 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 232
    Points : 112
    Points
    112
    Par défaut
    Bonsoir,

    J'ai bien essayé, mais il faut une date au format timestamp unix... et quand je fais la conversion, le résultat est faux....
    Bonne soirée et merci pour la réponse

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Typiquement, je fais un truc comme cela (c'est pas le même format final mais c'est pour le principe)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    setlocale(LC_TIME, 'french.UTF-8', 'fr_FR.UTF-8');
     
    function Date_fr($date)
    {
         return strftime("%a %d/%m", strtotime($date));
    }
    Il faut bien sûr appliquer cette fonction sur le retour d'un champ mysql au format date (ou datetime).

    Et comme ça dépend de setlocale, ça ne fonctionne pas à tous les coups surtout sur un serveur de test en local (faudrait sans doute configurer quelque chose).

    Cela a beaucoup plus de chance de fonctionner sur le serveur distant en production (chez moi le retour est ok depuis un serveur ovh).

  5. #5
    Membre régulier
    Profil pro
    Développeur
    Inscrit en
    Janvier 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 232
    Points : 112
    Points
    112
    Par défaut
    Bonsoir et merci pour la réponse.
    Mais pour le mois en entier, voici le résultat : f�vrier 2015

    Et pourtant PDO et HTML sont configurés en utf-8
    ??
    je ne comprends pas

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut C'est magique non !!!!!!
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    echo utf8_encode(strftime("%d/%m/%Y", strtotime($date)));
    le résultat sera encodé en utf8 sans caractères spéciaux

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    function date_DateComplete( $dateYYYYMMDD, $lang=NULL )
    {
    	// $dateYYYYMMDD au format DATE YYYY-MM-DD (ex. : '2019-11-06')
    	// -----------------
    	if( empty($lang) ){ 	$lang = 'fr';	}
    	// -----------------
    	if( $lang=='fr' ){
    		setlocale(LC_TIME, 'fr', 'fr_FR', 'fr_FR.ISO8859-1');
    		$dateComplete	= strftime("%A %d %B %Y", strtotime($dateYYYYMMDD)); // (ex. : mercredi 06 novembre 2019 )
    	} else {
    		setlocale(LC_TIME, 'en', 'en_GB', 'en_US');
    		$dateComplete	= strftime("%A, %B %d %Y", strtotime($dateYYYYMMDD)); // (ex. : Wednesday, November 06 2019)
    	}
    	// -----------------
    	return $dateComplete;
    }
    Dernière modification par Invité ; 06/11/2019 à 17h11.

  8. #8
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Ou plus simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $fmt  = new IntlDateFormatter('fr_FR', IntlDateFormatter::FULL, IntlDateFormatter::NONE);
    $date = $fmt->format(new DateTime());   // mercredi 6 novembre 2019
     
    $fmt  = new IntlDateFormatter('en_GB', IntlDateFormatter::FULL, IntlDateFormatter::NONE);
    $date = $fmt->format(new DateTime());   // Wednesday, 6 November 2019

Discussions similaires

  1. [Toutes versions] Format d'affichage d'une date en Français et Anglais
    Par damsmut dans le forum IHM
    Réponses: 2
    Dernier message: 01/06/2010, 17h19
  2. [Dates] jour, mois d'une date en Français
    Par Ismail dans le forum Langage
    Réponses: 1
    Dernier message: 01/12/2006, 22h30
  3. affichage d'une date depuis mysql
    Par kitty2006 dans le forum Requêtes
    Réponses: 7
    Dernier message: 22/08/2006, 17h56
  4. Affichage d'une date dans x jours
    Par Paulux1 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/07/2006, 16h49
  5. [VB6] mauvaise affichage d'une date
    Par robert_trudel dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 11/06/2006, 18h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo