Format Millisekunden zu simpledate format
Ich bin vor ein komisches Ergebnis bei der Formatierung von Millisekunden zu einer SimpleDate format:
Ausgabe:
Start date time: 11/06/30 09:45:48:970
End date time: 11/06/30 09:45:52:831
Execution time: 01:00:03:861
Skript:
long dateTimeStart = System.currentTimeMillis();
//some script execution here
long dateTimeEnd = System.currentTimeMillis();
"Start date time: " + GlobalUtilities.getDate(dateTimeStart, "yy/MM/dd hh:mm:ss:SSS");
"End date time: " + GlobalUtilities.getDate(dateTimeEnd, "yy/MM/dd hh:mm:ss:SSS");
"Execution time: " + GlobalUtilities.getDate((dateTimeEnd - dateTimeStart), "hh:mm:ss:SSS");
Methode:
public static String getDate(long milliseconds, String format)
{
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(milliseconds);
}
Jede Idee, warum die Ausführungszeit Wert so ab? Es sollte 00:00:03:861, nicht 01:00:03:861
Dank
InformationsquelleAutor user706058 | 2011-06-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Ausführungszeit ist ausgeschaltet, weil der Date-Konstruktor nimmt eine lange Angabe der Anzahl der Millisekunden seit 1970-01-01.
Hier ist ein weiterer stackoverflow-Antwort mit einigen wirklich netten Ideen! stackoverflow.com/questions/625433/...
Auch, als eine Randnotiz, kann ich wirklich empfehlen, der JodaTime-API beim Umgang mit Daten in Java. Es ist wirklich viel schöner als die integrierte Java-Termine. joda-time.sourceforge.net
Wenn Sie darauf bestehen, mit einem date formatter, versuchen, diese (fügen Sie Ihren Wert für x): Calendar cal = Calendar.getInstance(); cal.clear(); cal.set(Calendar.MILLISEKUNDE, x); "= SimpleDateFormat sdf2 = new " = SimpleDateFormat("hh:mm:ss.SSS"); System.aus.println(sdf2.format(cal.getTime()));
das Datum wird dann in einen Kalender in der " = SimpleDateFormat. Der Kalender nimmt auch Zeitzonen und Sommerzeit in Betracht, also ich denke, das ist, warum man 1 Stunde aus (wenn Ihre arbeiten in Europa irgendwo)
InformationsquelleAutor Daniel Lundmark
da Sie konvertieren die Zeit-Unterschied in der Datum.
Im detail ist dies genau das, was es passiert:
Leider, Sie können das Problem beheben, indem Sie manuell konvertieren Sie Ihre Zeit.
InformationsquelleAutor belgther