Maison >Java >javaDidacticiel >Comment puis-je récupérer l'heure moyenne de Greenwich (GMT) à partir des serveurs de temps Internet en Java ?

Comment puis-je récupérer l'heure moyenne de Greenwich (GMT) à partir des serveurs de temps Internet en Java ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-20 00:58:02717parcourir

How Can I Retrieve Greenwich Mean Time (GMT) from Internet Time Servers in Java?

Récupération de l'heure à partir des serveurs de temps Internet en Java

Cette discussion est centrée sur l'obtention de l'heure moyenne de Greenwich (GMT) à partir d'une source externe plutôt que de s'appuyer sur sur le système local. Les serveurs de synchronisation horaire offrent une solution à ce besoin.

Approche basée sur Java

Pour récupérer l'heure d'un serveur de temps en Java, envisagez l'approche suivante :

Utilisation de la bibliothèque JNTP (ou une bibliothèque similaire)

Des bibliothèques externes existent pour faciliter cela tâche. JNTP, par exemple, fournit une interface simple pour accéder aux serveurs de temps.

Établissement d'une connexion au serveur de temps

Une fois que vous avez sélectionné une bibliothèque, établissez une connexion à le serveur de temps souhaité en utilisant les méthodes de cette bibliothèque. Le code ci-dessous le démontre en utilisant la bibliothèque JNTP :

import org.jnbt.NTPUDPClient;
import org.jnbt.TimeInfo;
import java.net.InetAddress;

String TIME_SERVER = "time-a.nist.gov";
NTPUDPClient timeClient = new NTPUDPClient();
InetAddress inetAddress = InetAddress.getByName(TIME_SERVER);

Récupération de l'heure

Selon la bibliothèque que vous utilisez, la méthode de récupération de l'heure peut varier . Avec JNTP, vous pouvez obtenir l'heure du serveur comme ceci :

TimeInfo timeInfo = timeClient.getTime(inetAddress);
long returnTime = timeInfo.getMessage().getTransmitTimeStamp().getTime();
Date time = new Date(returnTime);

N'oubliez pas que l'utilisation de timeInfo.getReturnTime() renverra l'heure actuelle du système, pas l'heure reçue. Utilisez plutôt timeInfo.getMessage().getTransmitTimeStamp().getTime().

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn