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

Contribuez / Téléchargez Sources et Outils PHP Discussion :

Petite fonction php permettant d'afficher la date et l'heure en français


Sujet :

Contribuez / Téléchargez Sources et Outils PHP

  1. #1
    Membre éprouvé
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : Mai 2007
    Messages : 148
    Points : 1 178
    Points
    1 178
    Par défaut Petite fonction php permettant d'afficher la date et l'heure en français
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Petite fonction php permettant d'afficher la date et l'heure en français

    Cette fonction permet d'afficher une date en français.



    Elle doit recevoir, en paramètre, un timestamp et retourner la date ainsi que l'heure correspondantes (exemple: Le 27 Décembre 2012).



    Cette petite fonction ne vient pas remplacer les puissantes fonctions php conçues pour la même fonctionnalité, mais elle présente l'avantage d'être customizable à volonté.

    Qu'en pensez-vous ?
    Le chemin est long mais la voie est LIBRE!!!

    Adhérer : www.mouvementlibriste.org

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Ta fonction est erronée l'as tu testée ?
    Pour aujourd'hui elle me retourne 7 janvier 2013 ...

    Au delà de ça elle excessivement compliquée et l'utilisation des variables est maladroite.

    Une alternative correcte pourrait être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function dateFr($timestamp)
    {
            $moisFr = array(1=>'Janvier','Fevrier','Mars','Avril','Mai','Juin','Juillet','Aout','Septembre','Octobre','Novembre','Décembre');
            $mois = intval(date('m',$timestamp));
    	return date('\L\e d ',$timestamp).' '.$moisFr[$mois].' '.date('Y \à H:i:s',$timestamp);
    }
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti Avatar de demenvil
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Avril 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste développeur
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 195
    Points : 389
    Points
    389
    Par défaut
    Une autre alternative aussi :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?php
    function Prendre_nom_jour($jour_actuel) {
            $numero_jour = date('N', $jour_actuel);
            $numero_mois = date('n', $jour_actuel);
            $numero_jour_mois = date('d', $jour_actuel);
            $mois = array(
                1 => 'Janvier',
                2 => 'Fevrier',
                3 => 'Mars',
                4 => 'Avril',
                5 => 'Mai',
                6 => 'Juin',
                7 => 'Juillet',
                8 => 'Août',
                9 => 'Septembre',
                10 => 'Octobre',
                11 => 'Novembre',
                12 => 'Decembre'
            );
            $jour_fr = array(
                1 => 'Lundi',
                2 => 'Mardi',
                3 => 'Mercredi',
                4 => 'Jeudi',
                5 => 'Vendredi',
                6 => 'Samedi',
                7 => 'Dimanche'
            );
            $retour = $jour_fr[$numero_jour] . ' ' . $numero_jour_mois . ' ' . $mois[$numero_mois];
            return $retour;
        }

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Ou en plus simple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    setlocale(LC_TIME,"fr_FR.UTF-8","French_France.1252");
    echo strftime("%A %d %B %Y");
    Il faut bien entendu que la locale choisi soit disponible sur le système.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti Avatar de demenvil
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Avril 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste développeur
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 195
    Points : 389
    Points
    389
    Par défaut
    Effectivement
    Je n'avais pas connaissance de cette méthode, c'est pas mal !

  6. #6
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 101
    Points : 4 446
    Points
    4 446
    Par défaut
    Bonjour,
    pour les dates, j'utilise du lourd (dans tous les sens du terme)

    le package Carbon

    https://github.com/briannesbitt/Carbon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    setlocale(LC_TIME, 'French');    
    echo $dt->formatLocalized('%A %d %B %Y');
    $moi= ( !== ) ? : ;

  7. #7
    Membre averti Avatar de demenvil
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Avril 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste développeur
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 195
    Points : 389
    Points
    389
    Par défaut
    Peut être même un peu trop lourd là non ?

  8. #8
    Membre éprouvé
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : Mai 2007
    Messages : 148
    Points : 1 178
    Points
    1 178
    Par défaut
    Bonjour à tous et merci pour vos critiques!!!

    J'ai apporté une petite modification sur la fonction. Pour les autres solutions, elles sont aussi bonnes, ça pourra aider ceux qui en auront besoin et qui passeront pas là.

    Merci
    Le chemin est long mais la voie est LIBRE!!!

    Adhérer : www.mouvementlibriste.org

  9. #9
    Membre éprouvé
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : Mai 2007
    Messages : 148
    Points : 1 178
    Points
    1 178
    Par défaut
    Citation Envoyé par grunk Voir le message

    Au delà de ça elle excessivement compliquée et l'utilisation des variables est maladroite.
    Excessivement compliquée? je ne vois pas. Que veux-tu dire par "utilisation des variables maladroite"? On peut emprunter 1000 chemins différents pour arriver à la même solution.
    Le chemin est long mais la voie est LIBRE!!!

    Adhérer : www.mouvementlibriste.org

  10. #10
    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
    Effectivement tous les chemins mènent à Rome, mais l'idée principale reste toujours la même : utiliser au mieux ce qui est déjà présent nativement dans le langage.

    Si à chaque fois, tu fais ta cuisine interne alors que c'est déjà géré nativement, tu perds du temps et de la fiabilité pour au final faire moins bien.

    Le support natif doit toujours primer sur tout le reste, c'est pour ça qu'il faut un peu potasser le langage ou faire quelques recherches afin d'éviter la voie de garage.

  11. #11
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Excessivement compliquée
    je fait en 2 ligne et 2 appel de fonction native ce que tu fais en 8 lignes et plein de manipulations

    utilisation des variables maladroite
    Paramètre en entrée : $temps c'est un entier (timestamp)
    tu réutilises la même variable dans ta fonction pour finalement en faire une string
    => C'est maladroit

    $temps2 , au dela du nommage discutable , est dans un premier temps une chaine (date) puis ensuite un tableau (explode)
    => C'est maladroit

    Des variable dont le type change au fur et à mesure de la progression du code est un enfer à suivre. Ça marche mais c'est dégueulasse
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Toutes versions] Mise à jour de la fonction VBA permettant d'afficher la version de Windows
    Par it-worker dans le forum Contribuez
    Réponses: 0
    Dernier message: 13/06/2014, 21h12
  2. Petite fonction d'ajout et modification de date
    Par bruce207 dans le forum Contribuez
    Réponses: 4
    Dernier message: 31/01/2012, 16h01
  3. Réponses: 2
    Dernier message: 12/10/2010, 09h35
  4. Afficher la date sans les heures
    Par danduril dans le forum BIRT
    Réponses: 2
    Dernier message: 08/07/2008, 16h00
  5. Réponses: 2
    Dernier message: 14/11/2007, 09h56

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