Java のインターネットタイムサーバーから時刻を取得する
この説明は、グリニッジ標準時 (GMT) に依存するのではなく、外部ソースから取得することを中心に説明します。ローカル システム上で。時刻同期サーバーは、このニーズに対するソリューションを提供します。
Java ベースのアプローチ
Java でタイム サーバーから時刻を取得するには、次のアプローチを検討してください。
JNTP ライブラリ (または類似のライブラリ) の使用1)
このタスクを容易にするために外部ライブラリが存在します。たとえば、JNTP は、タイム サーバーにアクセスするための簡単なインターフェイスを提供します。
タイム サーバーへの接続の確立
ライブラリを選択したら、への接続を確立します。そのライブラリのメソッドを使用して、目的のタイム サーバーを設定します。以下のコードは、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);
時刻の取得
使用しているライブラリによっては、時刻を取得する方法が異なる場合があります。 。 JNTP を使用すると、次のようにサーバーの時刻を取得できます。
TimeInfo timeInfo = timeClient.getTime(inetAddress); long returnTime = timeInfo.getMessage().getTransmitTimeStamp().getTime(); Date time = new Date(returnTime);
timeInfo.getReturnTime() を使用すると、受信した時刻ではなく、現在のシステム時刻が返されることに注意してください。代わりに、 timeInfo.getMessage().getTransmitTimeStamp().getTime().
を使用してください。以上がJava でインターネット タイム サーバーからグリニッジ標準時 (GMT) を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。