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 :

Obtenir un serverTimeStamp


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Obtenir un serverTimeStamp
    Bonjour,

    J'ai quelques problèmes pour comprendre ce qu'est un ServerTimeStamp et comment obtenir sa valeur. Pourrait - on m'éclairer ?

    Je m'explique :

    Je doit déclencher toute une suite de fonction javascript depuis le body onload de ma page html.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <body onload= "RunEorzeaClock(1327616148);">
    "1327616148" est ici un nombre fixe, c'est a dire à chaque fois que je lance ma page HTML, le résultat est forcément le même.

    Ce chiffre est sensé représenter un "ServerTimeStamp". Donc serait-il possible de l'obtenir afin que tout cela soit plus dynamique au lieu de mettre un nombre en dur...?

    J'ai cru pendant un moment que le serverTimeStamp était en fait la date/heure du moment sous forme de milisecondes. J'ai donc adapté tout un code en javascript que j'ai trouvé pour convertir la date/heure en milisecondes

    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
    59
    60
    61
    62
    63
    64
     
     
    var temptime = new Date();
     
    serverTimeStamp = Ticks(temptime);
     
     
    function Ticks(date)
        {
       this.day = date.getDate();
       this.month = date.getMonth() + 1;
       this.year = date.getFullYear();
       this.hour = date.getHours();
       this.minute = date.getMinutes();
       this.second = date.getSeconds();
       this.ms = date.getMilliseconds();
     
       this.monthToDays = function(year, month)
       {
          var add = 0;
          var result = 0;
            if((year % 4 == 0) && ((year % 100  != 0) || ((year % 100 == 0) && (year % 400 == 0)))) add++;
     
          switch(month)
          {
             case 0: return 0;
             case 1: result = 31; break;
             case 2: result = 59; break;
             case 3: result = 90; break;
             case 4: result = 120; break;
             case 5: result = 151; break;
             case 6: result = 181; break;
             case 7: result = 212; break;
             case 8: result = 243; break;
             case 9: result = 273; break;
             case 10: result = 304; break;
             case 11: result = 334; break;
             case 12: result = 365; break;
          }
          if(month > 1) result += add;
          return result;     
       }
     
       this.dateToTicks = function(year, month, day)
       {
          var a = parseInt((year - 1) * 365);
          var b = parseInt((year - 1) / 4);
          var c = parseInt((year - 1) / 100);
          var d = parseInt((a + b) - c);
          var e = parseInt((year - 1) / 400);
          var f = parseInt(d + e);
          var monthDays = this.monthToDays(year, month - 1);
          var g = parseInt((f + monthDays) + day);
          var h = parseInt(g - 1);
          return h * 864000000000;
       }
     
       this.timeToTicks = function(hour, minute, second)
       {
          return (((hour * 3600) + minute * 60) + second) * 10000000;
       }  
     
       return this.dateToTicks(this.year, this.month, this.day) + this.timeToTicks(this.hour, this.minute, this.second) + (this.ms * 10000);
    }
    Mais cela ne renvoi pas du tout la bonne valeur...

    Merci d'avance a ceux qui prendrons la peine de m'aider.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Tu ne crois pas que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var timeStamp = new Date().getTime();
    est plus simple ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    J'avais déjà essayé ça et ça ne renvoyais pas du tout la bonne valeur, j'ignorais pourquoi. Je viens de réessayer et je me suis aperçu qu'une erreur s’était glissée dans mon code rendant le résultat incohérent...

    Une fois corrigé, ça fonctionne.

    Merci de ta réponse, je me suis vraiment prit la tête pour rien.

Discussions similaires

  1. comment obtenir un polynome de regression
    Par evariste_galois dans le forum Mathématiques
    Réponses: 17
    Dernier message: 19/01/2007, 15h06
  2. PROGRESS- Obtenir le ROWNUM, ROWID, etc?!?
    Par nmathon dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/05/2003, 14h05
  3. Fonction/méthode pour obtenir l'IP de la machine
    Par sirex007 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 10/04/2003, 14h36
  4. Comment obtenir la liste des paramètres d'une SP ?
    Par Le Gritche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/03/2003, 16h54
  5. Obtenir les taches en cours
    Par mlerat22 dans le forum MFC
    Réponses: 3
    Dernier message: 17/06/2002, 12h36

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