Discussion: setlocale et ST_TIME

  1. #1
    Membre habitué Avatar de berti
    Profil pro
    Inscrit en
    août 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : août 2007
    Messages : 233
    Points : 170
    Points
    170

    Par défaut setlocale et ST_TIME

    Bonjour à tous, j'ai lu pas mal de choses et tester certains codes mais je ne trouve rien.

    Ma version de PHP : v5.6

    Je récupère une date de ma base mysql sous la forme "2018-02-12 00:00:00" dans une variable, puis je dois faire afficher cette date en lettre.
    Le souci est que la date s'affiche en anglais.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $seance = "2018-02-12 00:00:00";
    setlocale(LC_TIME, 'fr_FR');
    $dateseance = strftime("%A %e %B %Y", strtotime("$seance"));
    echo "$dateseance";
    Les valeurs de LC_TIME ou LC_ALL doivent apparemment retourner 0 et 5. J'ai les valeurs 2 et 6. Je ne vois pas où je dois changer ces valeurs.

    Merci pour vos réponses

  2. #2
    Membre actif Avatar de jisig
    Homme Profil pro
    null
    Inscrit en
    avril 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Indonésie

    Informations professionnelles :
    Activité : null

    Informations forums :
    Inscription : avril 2014
    Messages : 138
    Points : 261
    Points
    261

    Par défaut

    je viens de tester ton code ici http://phptester.net/ et ça fonctionne
    Même une feuille de papier est plus légère si on la porte à deux.

  3. #3
    Membre habitué Avatar de berti
    Profil pro
    Inscrit en
    août 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : août 2007
    Messages : 233
    Points : 170
    Points
    170

    Par défaut

    le problème doit venir de la configuration de php dans le php.ini

    est-ce que tu aurais une idée ?

  4. #4
    Membre actif Avatar de jisig
    Homme Profil pro
    null
    Inscrit en
    avril 2014
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Indonésie

    Informations professionnelles :
    Activité : null

    Informations forums :
    Inscription : avril 2014
    Messages : 138
    Points : 261
    Points
    261

    Par défaut

    Ton serveur tourne sous quel OS ?
    Même une feuille de papier est plus légère si on la porte à deux.

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    juillet 2005
    Messages
    29 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juillet 2005
    Messages : 29 110
    Points : 43 305
    Points
    43 305

    Par défaut

    Pour windows
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setlocale(LC_TIME, 'fra');
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    4 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 4 559
    Points : 11 293
    Points
    11 293
    Billets dans le blog
    5

    Par défaut

    Salut,

    la soluce de l'ami sabotage est parfaite.
    Juste pour l'avenir, il est de loin préférable d'utiliser la bibliothèque d'internationalisation (prévue à cet effet) : ICU qui est fournie et accessible en standard.
    Cela donnerait quelque chose dans ce gnere :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $seance = "2018-02-12 00:00:00";
    $fmt = new IntlDateFormatter('fr_FR', IntlDateFormatter::NONE, IntlDateFormatter::NONE);
    $fmt->setPattern('EEEE dd MMMM YYYY');
    echo $fmt->format(new DateTime($seance));
    # Dans la Création, tout est permis mais tout n'est pas utile...

  7. #7
    Membre habitué Avatar de berti
    Profil pro
    Inscrit en
    août 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : août 2007
    Messages : 233
    Points : 170
    Points
    170

    Par défaut

    Merci le code de rawsrc marche nikel.

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.2] setlocale et date formatée
    Par Papy214 dans le forum Syntaxe
    Réponses: 5
    Dernier message: 01/02/2010, 17h58
  2. [PHP 5.2] Encodage de caractères polonais d'une date formatée par setlocale
    Par NaBaZTaG dans le forum Fonctions
    Réponses: 5
    Dernier message: 08/09/2009, 17h00
  3. Réponses: 1
    Dernier message: 09/10/2008, 15h17
  4. [Dates] problème fonction setlocale()
    Par oceane751 dans le forum Fonctions
    Réponses: 1
    Dernier message: 12/01/2007, 00h48
  5. Pb avec les setlocale
    Par Techman128 dans le forum C++
    Réponses: 1
    Dernier message: 29/10/2004, 22h20

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