Finden Differenz zwischen zwei timestamps
Will ich finde die Unterschiede zwischen bestimmten Zeitstempel und die aktuelle Systemzeit.
Mein code,
Long timeStamp=1500462813;
long diff=(timeStamp*1000L) - System.currentTimeMillis();
diff bin ich immer nicht, was ich expacting.
Ex.
(1500462813*1000)-1500290013000=172800000
dies ist der Zeitpunkt 6/24/1975, 5:30:00 UHR
Ich erwarte 7/19/2017, 4:43:33 .
finden wollen, die Differenz zwischen der aktuellen Systemzeit und gegeben Zeitstempel, laufen die timer für die Verbleibende Zeit.
- Was bekommen Sie und was erwarten Sie?
- Die Differenz zwischen zwei timestamps ist nicht ein Datum. Es ist... ein Unterschied.
- wie finden Sie eine Differenz im Zeitstempel?
- Zuerst solltest du uns sagen, was meinen Sie mit "Unterschied in timestamp -". Wie wäre es mit einer Differenz zwischen zwei Zeitmarken beziehen sich immer auf ein Datum in der Zukunft?
- Ich möchte die Differenz zwischen der aktuellen Systemzeit und gegeben Zeitstempel, laufen die timer für die Verbleibende Zeit.
- Sie erhalten den Unterschied in Millisekunden
172800000
. Was ist hier falsch? - Warum tun Sie konvertieren möchten, um ein Datum? Es ist ein Zeitraum, kein Zeitpunkt, also würde es Sinn machen, wenn es nicht gültig ist. Und wie würden Sie ein date mit einem timer? Warum nicht einfach die resultierenden
long
direkt? - Wenn Sie subtrahieren von
1500462813000
(19. Juli) Aktuelles Datum1500290013000
(17. Juli) erhalten Sie 2 Tage.172800000
ist genau 2 Tage in Millisekunden (2 * 24 * 60 * 60 * 1000
). Wie kann man das Datum aus oder? Und warum tun Sie müssen ein Datum für die timer? - Wieder: Der Unterschied zwischen zwei Zeitangaben (timestamps) nicht ein Datum. es wird nie ein Datum. Der Unterschied zwischen diesen beiden Zeitstempeln wird 172800000 Millisekunden. Wenn in deinem Kopf diese Millisekunden irgendwie beziehen sich auf ein Datum, dann bitte sagen Sie uns, wie. Weil wir keine Ahnung haben, was für eine Idee Sie haben, die irgendwie konvertiert einen Unterschied in Millisekunden zu einem Datum (in der Zukunft nicht weniger).
- Danke, ich habe Problem.
- Sie können prüfen wollen, die
Duration
Klasse (es ist in derjava.time
Paket, oder derorg.threeten.bp
Paket", wenn Sie mit Java 6 oder 7 und ThreeTen Backport). - dies kann hilft gist.github.com/Ashusolanki/fed3b6a680092985ac0ab93ed70fcd7c
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie diese Methode:
Es gibt Sie den Unterschied von welcher Einheit (Tage, Jahre, ...).
Zuerst habe ich sehen, dass Sie mit den primitiven Typ
long
und die KlasseLong
. Es ist keine gute Idee. Wenn Sie nicht wirklich gute Gründe um die Klasse zu verwenden, besser nurlong
.Sind Sie die Initialisierung der Klasse
Long
mit einer Ganzzahl:Ist das eigentlich ein compiler-Fehler. So könnte der code nicht kompiliert werden.
Wenn ich verstanden habe, korrigieren Sie Ihre Frage, die Sie wollen die Verbleibende Zeit zu einem Datum. Sie sind eigentlich immer es. In Millisekunden. Ihr Ergebnis ist die Zeit, die bleibt, um Ihren Zeitstempel Datum.
Diesem Ergebnis nicht ein
Date
auf seine eigenen. Es ist nur die Millisekunden zu Ihrem gewünschten Datum.Versuchen:
Ich denke, sollten Sie finden, der Unterschied, wie diese
System.currentTimeMillis()
wird immer größer als Ihre aktuelle