# Zeitserver Abfragen und in Date speichern



## SteeL1942 (14. Mrz 2010)

Ich möchte gerne die Zeit vom Zeitserver pool.ntp.org abfragen und dann in einem Date speichern. wie mach ich das? Hab bei google gesucht, aber bis jetzt noch nichts verwertbares gefunden 

Ich müsste es ja nur irgendwie hinbekommen, diesen abgefragten wert in einen long-wert zu verwandeln, aber da ist dann auch gleich das nächsten problem. ich hab nicht nur keinen blassen schimmer, wie ich die server-zeit abfrage, ich hab auch keine ahnung, was ich dann vom server zugeschickt bekomme...

danke schon mal im voraus


----------



## kay73 (14. Mrz 2010)

Nimm doch einen fertigen (S)NTP client:
NTPClient (Commons Net 2.0 API)
JavaSntpClient < Support < NTP

Die scheinen allerdings das Problem zu haben, nur Millisekunden-genau zu sein.


----------



## SteeL1942 (14. Mrz 2010)

die genauigkeit ist nicht so schlimm so lange das nicht mehr als 2minuten falsch geht, reicht mir das schon. den zweiten link hatte ich schonmal via google gefunden, aber das hatte ich nicht so ganz verstanden. ich werd mir das dann jez nochmal angucken. vll läufts bei zweiten versuch ja besser...


----------



## SteeL1942 (14. Mrz 2010)

hab es nun endlich hinbekommen, dass mir das Prog was in der Konsole raus schmeißt. Damit kann ich allerdings nichts anfangen, weil ich das ja als Date haben möchte...

Außerdem ist es doch etwas verwirrend, wenn er dann gleich so viele Zeitangaben ausgibt - zumal davon ja einige noch vom client-pc stammen. Deswegen hatte ich an meinem pc die uhr nen monat zurückgedreht, damit ich das besser unterscheiden kann. rausgekommen ist dann das hier:

Reference timestamp: 14-Mrz-2010 16:13:41,992646
Originate timestamp: 14-Feb-2010 16:48:59,137000
Receive timestamp:   14-Mrz-2010 16:48:58,970690
Transmit timestamp:  14-Mrz-2010 16:48:58,970861
Dest. timestamp:     14-Feb-2010 16:48:59,165000

Hab dann geguckt, das die jeweilige zeit bedeutet und bin zu dem entschluss gekommen, dass "Receive Timestamp" der richtige wert für mich ist. das sollte ja der zeitpunkt sein, zu dem die anfrage beim server einging.

Mein problem ist jetzt nur, dass dieser zeitpunkt als double vom server kommt. wie kann ich denn diesen double-wert in ein Date einfügen? das geht ja nur mit long


----------



## faetzminator (14. Mrz 2010)

Da gibts bereits libs, welche dir das abnehmen, laut Google z.B.:
Commons Net - Jakarta Commons Net
JavaSntpClient < Support < NTP


----------



## SteeL1942 (14. Mrz 2010)

faetzminator hat gesagt.:


> Da gibts bereits libs, welche dir das abnehmen, laut Google z.B.:
> Commons Net - Jakarta Commons Net
> JavaSntpClient < Support < NTP



Die beiden Links hatte mir ja weiter oben schon wer geschickt.... hab da aber jez auch was passendes gefunden


----------

