Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compte à rebours et heure "personnalisée"

    8 octobre 2021 à 6:09:21

    Bonjour à toutes et à tous,

    J'ai un site html/css avec un peu de javascript (c'est un thème adapté à ma sauce donc autant dire de suite que je suis pas un champion ;) )

    J'ai besoin de mettre un compte à rebours.  Bon jusque là tout va bien, j'ai trouvé pas mal de codes différents sur le web.

    Le souci est que ce site aura vocation internationale donc les utilisateurs auront divers fuseaux horaires.

    Avec les codes que j'ai trouvé, il faut indiquer date et heure, mais cela ne correspondra pas nécessairement au temps restant par rapport à certains fuseaux horaires.

    Donc je me suis dis, il est possible d'afficher la date et heure de l'utilisateur.  Ok ça j'ai trouvé comment faire.

    Donc je me suis redis :), j'indique dans mon premier code du compte à rebours une date / heure et "je soustraits" date / heure de l'utilisateur.

    Dans mes rêves, j'y arrive pas.

    Auriez-vous quelques idées, pistes pour ce projet ?

    Je vous remercie d'avance pour vos réponses et votre aide.

    Bonne journée.

    • Partager sur Facebook
    • Partager sur Twitter
      8 octobre 2021 à 8:27:23

      Je pense qu'il suffit de séparer les informations.

      D'un côté tu calcules la durée du compte à rebours. Donc autant prendre l'heure du serveur. Tu compare la date de fin du compte à rebours avec la date actuelle, ou plutôt, tu compare les timestamps ( nombre de millisecondes écoulées depuis le 1er janvier 701, si ma mémoire est bonne ).

      Ensuite, tu transmet ce timestamp au client, et là javascript se charge d'afficher les heures au format du client. Si tu veux que le client affiche sa date actuelle, rien de plus simple ( new Date() ), et si tu veux afficher l'heure de fin, tu prend le timestamp de la date actuelle du client, auquel tu ajoute la durée du décompte envoyée par le serveur, et tu convertis ce timestamp de fin en heure de fin au format local du client.

      • Partager sur Facebook
      • Partager sur Twitter
        8 octobre 2021 à 8:53:17

        Bonjour Lucas,

        Je te remercie pour cette réponse complète.

        Je vais essayer d'appliquer tout cela et je reviens pour l'évolution du sujet.

        Merci.
        Bonne journée
        • Partager sur Facebook
        • Partager sur Twitter
          8 octobre 2021 à 12:29:24

          Remarque, tu peux tout aussi bien transmettre ton timestamp de fin de chrono, et faire tous les calculs / affichages en javascript, tu éviteras ainsi un "décalage" lié au temps de transfert sur le réseau, ce qui fausserait ton chrono ( bon, ce sera surtout gênant dans les deux trois dernières secondes de ton décompte ).

          Mais bon, mon idée de départ c'était surtout d'utiliser le timestamp comme "temps de référence". Ensuite, quand javascript gère l'affichage des données ( date de fin de chrono, date d'aujourd'hui, décompte, ... ) il y a des fonctions très utiles dans l'objet Date :

          Date - JavaScript | MDN

          • Partager sur Facebook
          • Partager sur Twitter
            8 octobre 2021 à 15:23:52

            Merci pour cette précision, là j'avoue que ça me perd un peu mais je vais regarder tout cela et retour assuré ici même ;)
            Un grand merci.
            Bonne journée
            • Partager sur Facebook
            • Partager sur Twitter
              10 octobre 2021 à 14:16:16

              Re bonjour,
              Suite en fin des aventures compteur.
              J'ai trouvé un code où il est possible d'indiquer le fuseau horaire.
              Donc le décompte se fait sur base du fuseau horaire désigné et celui du pc de l'utilisateur.

              Parfait ;)
              Merci pour vos réponses et aides.
              Bonne journée
              • Partager sur Facebook
              • Partager sur Twitter
                10 octobre 2021 à 16:44:44

                N'oublies pas de marquer ton sujet comme résolu ( bouton tout en haut du sujet ).
                • Partager sur Facebook
                • Partager sur Twitter

                Compte à rebours et heure "personnalisée"

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown