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

JavaScript Discussion :

Affichage de la date et heure FullYear / UTC


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Expert sécurité informatique
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Expert sécurité informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Par défaut Affichage de la date et heure FullYear / UTC
    Bonjour,

    Je suis en train de faire une refonte d'un site.

    J'ai vu également sur le site la différence entre setFullYear et setUTCFullYear
    Source http://javascript.developpez.com/faq...setUTCFullYear

    Voici 2 scripts que j'avais il y a quelques temps.
    Version 1 :
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <script type = "text/javascript" >
            var d = new Date()
    var j = d.getDate()
    var m = d.getMonth() + 1
    var y = d.getYear()
    if (y < 999)
        y += 1900;
    var h = d.getHours()
    var mn = d.getMinutes()
    var mois, jour;
    var dayNames = new
            Array("dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi");
    if (m == 1)
        mois = " janvier";
    else if (m == 2)
        mois = " février";
    else if (m == 3)
        mois = " mars";
    else if (m == 4)
        mois = " avril";
    else if (m == 5)
        mois = " mai";
    else if (m == 6)
        mois = " juin";
    else if (m == 7)
        mois = " juillet";
    else if (m == 8)
        mois = " août";
    else if (m == 9)
        mois = " septembre";
    else if (m == 10)
        mois = " octobre";
    else if (m == 11)
        mois = " novembre";
    else if (m == 12)
        mois = " décembre";
    if (j == 1)
        jour = "1er"
    else
        jour = j;
    // Test pour déterminer la formule à employer
    if (h >= 18)
        document.write("Bonsoir");
    else
        document.write("Bonjour");
    document.write(" et bienvenue sur mon site. ")
    document.write("Aujourd'hui nous sommes le " + dayNames[d.getDay()] + " " + jour + " " + mois + " " + y + ", ")
    document.write("il est " + h)
    if (h < 2)
        document.write(" heure ")
    else
        document.write(" heures ")
    document.write(mn)
    if (mn < 2)
            document.write(" minute.")
            else
            document.write(" minutes.")
            </script>

    Version n°2 :
    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
    33
    34
     
    <script type="text/javascript">
                    var d = new Date()
                    var j = d.getDate()
                    var m = d.getMonth()
                    var y = d.getFullYear()
                    var h = d.getHours()
                    var mn = d.getMinutes()
                    var jour;
                    var dayNames = new
                            Array("dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi");
                    var mois = ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "décembre"]
                    if (j == 1)
                        jour = "1er"
                    else
                        jour = j;
                    // Test pour déterminer la formule à employer
                    if (h >= 18)
                        document.write("Bonsoir");
                    else
                        document.write("Bonjour");
                    document.write(" et bienvenue sur mon site. ")
                    document.write("Aujourd'hui nous sommes le " + dayNames[d.getDay()] + " " + jour + " " + mois[m] + " " + y + ", ")
                    document.write("il est " + h)
                    if (h < 2)
                        document.write(" heure ")
                    else
                        document.write(" heures ")
                    document.write(mn)
                    if (mn < 2)
                        document.write(" minute.")
                    else
                        document.write(" minutes.")
                </script>
    Je souhaiterais savoir si le second script est optimisé, que faut-il ajouter ou modifier ?

    D'avance merci.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    pour commencer on va dire qu'il serait préférable que tu oublies le document.write : Comprendre document.write() en JavaScript.

    Concernant l'initialisation du nom des jours autant utiliser la même méthode que celle que tu as utilisé pour les mois, il est préférable de rester homogène
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var jours = ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"];
    var mois  = ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "décembre"];
    Il est aussi intéressant de construire la chaine à afficher et de l'afficher en une seule fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var chaine = ''
    // Test pour déterminer la formule à employer
    if (h >= 18){
        chaine += 'Bonsoir';
    }
    else {
        chaine += 'Bonjour';
    }
    chaine += ' et bienvenue sur mon site. ';
    chaine += ' Aujourd’hui nous sommes le ';
    d'autres méthodes existent mais le plus simple serait, pour moi, d'oublier tout cela et de ne faire qu'un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('span_date').textContent = Date().toLocaleDateString(); // affichage de 12/05/2016
    • Regarde également du coté de l'opérateur conditionnel ternaire

    • Un autre rendez vous pourrait être les exercices sur DVP

Discussions similaires

  1. Affichage de la date et heure de la dernière visite
    Par Olivier Regnier dans le forum Web
    Réponses: 1
    Dernier message: 16/08/2011, 00h28
  2. affichage date avec heure et minutes courantes
    Par sasseur dans le forum SAS Base
    Réponses: 4
    Dernier message: 04/03/2009, 16h48
  3. affichage des dates avec heure dans liste déroulante
    Par schwarzy2 dans le forum VB.NET
    Réponses: 1
    Dernier message: 15/07/2008, 10h59
  4. Affichage de la date et de l'heure
    Par supersoft5 dans le forum C++Builder
    Réponses: 4
    Dernier message: 28/06/2007, 18h17
  5. conversion UTC to date et heure
    Par tit_oune dans le forum C++
    Réponses: 6
    Dernier message: 23/06/2006, 21h01

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