64-Bit-Windows-Nummer in Java umwandeln

8

Wenn ich eine 64-Bit-Nummer konvertieren wollte, die Zeit in Windows mit Java darstellt, wie würde ich das tun?

Die Nummer lautet 129407978957060010

Ich bin nur sehr verwirrt darüber, wie ich das zur Arbeit bringen würde. Mathe war nie mein Ding:)

Vielen Dank

    
Simon 04.03.2011, 22:58
quelle

5 Antworten

15

Diese Zeit repräsentiert wahrscheinlich 100-Nanosekunden-Einheiten seit Jan 1. 1601 . Zwischen 1601 und 1970 gibt es 116444736000000000 100ns.

%Vor%     
nos 04.03.2011, 23:26
quelle
2

Angenommen, der 64-Bit-Wert ist FILETIME value, stellt es die Anzahl der 100-Nanosekunden-Intervalle seit dem 1. Januar 1601 dar. Die Klasse Java Date speichert die Anzahl der Millisekunden seit dem 1. Januar 1970. Um von ersteren zu letzterem zu konvertieren, können Sie Folgendes tun:

%Vor%     
casablanca 04.03.2011 23:26
quelle
1

Java verwendet den Unix-Zeitstempel . Sie können einen Online-Konverter verwenden, um Ihre Ortszeit anzuzeigen.

Um es in Java zu verwenden:

%Vor%

Aktualisierung:

Es scheint, dass sie unter Windows einen unterschiedlichen Zeitversatz haben. Auf Windows-Rechnern würden Sie diese Berechnung verwenden, um in Unix-Timestamp zu konvertieren:

%Vor%     
Peter Knego 04.03.2011 23:06
quelle
0

Ich nehme an, dass die Zeit eine lange Zahl ist.

%Vor%

setTime fügt alle Millisekunden hinzu, die der Lange seit dem 1. Januar 1970 darstellt.

    
Sorean 04.03.2011 23:04
quelle
0

public static void main (Zeichenfolge als []) {

%Vor%     
user989383 01.03.2016 06:51
quelle

Tags und Links