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!