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
Libérer: 2024-11-20 00:58:02
original
726 Les gens l'ont consulté

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);
Copier après la connexion

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);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal