66 votes

Existe-t-il un moyen d'obtenir l'heure actuelle en nanosecondes en utilisant JavaScript ?

Je sais donc que je peux obtenir l'heure actuelle en millisecondes en utilisant JavaScript. Mais, est-il possible d'obtenir l'heure actuelle en nanosecondes à la place ?

4voto

Millisecondes depuis l'époque UNIX, avec une résolution de l'ordre de la microseconde.

performance.timing.navigationStart a été déprécié ! Utilisez plutôt ce qui suit :

(performance.now() + performance.timeOrigin)

Citations pertinentes de la spécification

Cette spécification définit une API qui fournit l'origine de l'heure et l'heure actuelle avec une résolution inférieure à la milliseconde, de sorte qu'elle n'est pas soumise au décalage ou aux ajustements de l'horloge du système.

Le site timeOrigin attribut MUST retourner un DOMHighResTimeStamp représentant le temps haute résolution de l heure origine timestamp pour le objet global pertinent de la Performance objet.

Le site heure origine timestamp est la valeur temporelle haute résolution à laquelle origine temporelle est égal à zéro.

Le site origine temporelle est la valeur du temps à partir de laquelle le temps est mesuré

Le site now() méthode MUST retourner le heure actuelle haute résolution .

Le site heure actuelle haute résolution est le temps à haute résolution entre l'origine du temps et le temps présent (généralement appelé "maintenant").


Notez qu'en fait, ce n'est pas que précis pour des raisons de sécurité (pour éviter les attaques par canal latéral)

Cette spécification définit une API qui fournit une résolution temporelle inférieure à la milliseconde, ce qui est plus précis que la résolution en millisecondes précédemment disponible, exposée par DOMTimeStamp . Toutefois, même sans cette nouvelle API, un attaquant peut être en mesure d'obtenir des estimations à haute résolution par le biais d'exécutions répétées et d'analyses statistiques. Afin de s'assurer que la nouvelle API n'améliore pas de manière significative la précision ou la vitesse de telles attaques, la résolution minimale de l DOMHighResTimeStamp devrait être suffisamment imprécis pour empêcher les attaques : la résolution minimale actuelle recommandée n'est pas inférieure à 5 microsecondes et, le cas échéant, doit être fixé à un niveau plus élevé par l'agent utilisateur pour répondre aux préoccupations en matière de confidentialité et de sécurité dues à des contraintes d'architecture ou de logiciel, ou à d'autres considérations.

2voto

Ryan Lynch Points 5531

JavaScript enregistre le temps en millisecondes, vous ne pourrez donc pas obtenir le temps avec cette précision. Le site malin-aleck La réponse est de "multiplier par 1.000.000".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X