Bonjour,
Je récupère la valeur SNTP d'un serveur => comment faire pour la transformer de façon à ce que la valeur soit lisible par un humain ?
Bonjour,
Je récupère la valeur SNTP d'un serveur => comment faire pour la transformer de façon à ce que la valeur soit lisible par un humain ?
les date sont souvent sous forme de long...ou date heute minutes second
passe déjà par le protocole http.
je ne comprends pas ce que tu veux dire par passer par le protocole HTTP...
Pour l'instant j'arrive à récupérer l'heure avec une variable de 64 bits en hexa. Les 32 premiers bits donnent les secondes qui se sont écoulées depuis 1900 et les 32 autres bits donnent les fractions de secondes (c'est ce que j'ai lu sur le net).
=> une résolution horaire au centième de seconde me suffit.
=> l'heure affiché ne sera pas forcément l'heure actuelle : ça pourra être l'heure d'un événement....
Le problème est que l'heure est données à partir du méridien de Greenwich donc il faut faire un décalage horaire en fonction de la situation géographique et gérer les heures d'hivers/été...
=> est-il possible de détecter la configuration horaire de l'OS qui ouvre la page web et ainsi faire la bonne conversion ?
si ce n'est pas possible, je pensais autrement donner la possibilité au client de configurer une variable qui permettrait d'identifier sa situation géographique...
il existe quoi comme variable en js pour gérer une durée ? qu'elle est l'unité ?
il existe quoi comme variable en js pour gérer une date ? qu'elle est l'unité/référence ?
je te conseille plutôt d'utiliser un langage SERVEUR pour récupérer cette information ou d'utiliser un webservice qui te renverrais l'heure![]()
Effectivement, il vaut mieux que je fasse la conversion coté serveur.
Par contre, mon serveur est un µC et je dois donc faire l'algo de conversion : toute aide sera le bien venu.
=> vous connaissez la différence entre NTP et SNTP : la valeur retournée est bien la même (car le codage 64bits dont j'ai parlé est pour le NTP) ?
Je commence :
=> donc pour moi les deux points critiques sont :
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 Données d'entrée : myValTime => 32 bits de poids fort (32bHigh) donnent les secondes et les 32 autres (32bLow) donnes les fractions de secondes. si myValTime = 0, alors on est le 01/01/1900 calcul : NbJours = 32bHigh / (60*60*24) Date = 01/01/1900 + NbJours => comment fait-on cette fonction ? Time = 32bLow - (NbJours * (60*60*24)) => l'affichage hh//mm/ss ne doit pas être difficile à faire... centiemeSeconde => convertir 32bLow => il reste plus qu'a faire la conversion suivant le fuseau horaire
- additionner mon nombre de jours à 01/01/1900 pour trouver la date (gérer les années bissextiles)
- convertir la date suivant le fuseau horaire
=> je suis prennuer pour toute info...
PS pour les admins : il faudrait peut être déplacer le post, non ?
Partager