Umwandlung von string zu Millisekunden
Ich möchte die Zeit berechnen, die Differenz zwischen zwei Daten (in dem format "yyyyMMddHHmmss"). Die grundlegende Idee ist, zuerst konvertieren Sie die Zeichenfolge Datum in Millisekunden, und dann die Zeitdifferenz.
Calendar c1 = Calendar.getInstance();
c1.setTime(new SimpleDateFormat("yyyyMMddHHmmss").parse("20110327032913"));
System.out.println(c1.getTimeInMillis());
Calendar c2 = Calendar.getInstance();
c2.setTime(new SimpleDateFormat("yyyyMMddHHmmss").parse("20110327025913"));
System.out.println(c2.getTimeInMillis());
Ergebnis:
1301189353000
1301191153000
Offensichtlich ist der erste Zeitpunkt später als der zweite, aber der konvertierten Millisekunde kleiner ist. Habe ich einen Fehler in format?
Es funktioniert gut für mich -, Druck -
Mit meinem code ausführen, der erste Wert ist die reibe als in der zweiten.
Es gibt kein problem mit Ihrem code, es ist Druck etwas korrigieren: ideone.com/EIS1wI
Meine Vermutung ist, dass die Zeitzone ändern, fand in Ihr system Standard-Gebietsschema, ähnlich wie diese Frage.
Ja, timezone Veränderungen sind Häufig am März 27, 2011 in vielen Ländern, finden Sie unter diesen link
1301221753000
und 1301219953000
. Welche Zeitzone/locale sind Sie ausgeführt?Mit meinem code ausführen, der erste Wert ist die reibe als in der zweiten.
Es gibt kein problem mit Ihrem code, es ist Druck etwas korrigieren: ideone.com/EIS1wI
Meine Vermutung ist, dass die Zeitzone ändern, fand in Ihr system Standard-Gebietsschema, ähnlich wie diese Frage.
Ja, timezone Veränderungen sind Häufig am März 27, 2011 in vielen Ländern, finden Sie unter diesen link
InformationsquelleAutor user2177467 | 2013-03-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sich aus der Zeitdifferenz zwischen zwei timestamps in der ms ist 30 Minuten:
Wegen der änderungen der Sommerzeit am 27. März, die Uhr wird nach vorne gesetzt um 2 UHR von 2 Uhr bis 3 UHR morgens, damit die Zeitstempel:
sind in der Tat interpretiert werden als:
So, der zweite timestamp kommt später und bei der Konvertierung in ms ist es größer als die erste.
Danke, das ist genau der Grund!!!
InformationsquelleAutor harpun
Ich Wette, Sie sind in eine locale, wo die Zeit geändert wurde ab 2 Uhr (morgens) um 3 Uhr (am) zur Sommerzeit am 27. März 2011 (Siehe dieser link)
Dein erstes mal ist
und Ihre zweite Zeit ist
also tatsächlich, das zweite mal ist:
das ist natürlich 30 Minuten später als das erste (und nicht 30 Minuten früher).
InformationsquelleAutor jlordo
Vielleicht kann dieser code Ihnen helfen:
*Das problem ist, dass, wenn die Zeichenfolge nicht in der UTC-Sie können nie wissen, wenn die Zeit änderung angewendet wurde daher ein Intervall könnte eine Stunde aus.
Sie sind herzlich willkommen!
InformationsquelleAutor PbxMan