Java Hardware Software Zeit

outbreaker

Bekanntes Mitglied
Hallo,

gibt es in Java die Möglichkeit die Hardware und die Software Zeit auszulesen? Bzw kennt jemand eine API/Bibliothek die das kann?
Ähnlich #>date und #>hwclock bei Linux?

Danke für Ideen 🙂
 
Du musst dir am Anfang und am Ende des Codes die aktuelle Zeit geben lassen und die Diferenz der beiden Werte berechnen.
Dann bekommst du die Zeitspanne.
 
mhm ich verstehe nicht ganz in wie fern das eine Antwort auf meine Frage ist.
Ich möchte die Hardware Clock und die Software Clock auslesen. In einem Programm soll die Software Uhr verstellen werden aber die Hardware Clock als Referenz vorhanden bleiben wenn ich wieder zurück zu dieser Zeit zurück will.
 
Was ist eine Software Clock? Bzw. warum sagst du dem Programm nicht einfach es soll mit Datum XYZ arbeiten?
 
Zuletzt bearbeitet:
es gibt unter Linux hwclock und date als Command / Uhr
hwclock - query and set the hardware clock (RTC)
date - print or set the system date and time

Ich wollte diese beiden Clocks über eine API ansprechen ohne Terminal aufrufe und wollte wissen ob jemand eine API kennt oder weiß ob und wie es gehen könnte.
 
Mit System.currentTimeMillis(); bekommst du die aktuelle Zeit in Millisekunden.
Wenn ich dich richtig verstanden habe, musst du das nur noch umformen.
 
Wenn ich mich richtig erinnere, gibt es unter Windows keine echte Trennung zwischen Hardware-Uhr und "Software-Uhr". Beim Systemstart wird die "Software-Uhr" aus der Hardware initialisiert; ab und an gleicht Windows wohl auch Hardware-Uhr und Software-Uhr automatisch ab, damit sie auch bei langer Systemlaufzeit (Server) nicht zu weit auseinanderlaufen. Wenn man die "Windows-Software-Uhr" umstellt, stellt Windows die Hardware-Uhr mit um.

Oh, es gibt zusätzlich zur Echtzeituhr noch verschiedene Timer, z.B. "System-up-time", also seit wievielen (Milli-/Nano-)Sekunden das System läuft (also seit dem letzten Booten).
 
Zuletzt bearbeitet:
Was du machen könntest ist hwClock mit Runtime.exec oder JNI aufzurufen und das Ergebnis auszulesen.
Eine allgemeine Lib wird es wahrscheinlich nicht geben, da du die Bios-Zeit wohl nur in Linux erfragen kannst. In Win sollte das z.B. nicht möglich sein.

Alternativ merkst du dir beim Ändern des Datums den Zeitpunkt und kannst dann mit dem Delta später den alten Wert wieder errechnen. Super genau ist das natürlich nicht, ist die Bios Uhr aber auch nicht 🙂


Link:

datetime - Get BIOS Time in Java - Stack Overflow
 

Zurück
Oben