Jestem stoi dziwny wynik przy formatowaniu milisekund do formatu SimpleDate:Format milisekund do simpledate formatu
wyjścia:
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
Scenariusz:
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");
Metoda:
public static String getDate(long milliseconds, String format)
{
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(milliseconds);
}
Każdy pomysł dlaczego wartość czasu wykonania jest tak wyłączona? Powinno być 00: 00: 03: 861, a nie 01: 00: 03: 861
Dzięki
I jak mogę to naprawić? – user706058
Oto kolejna odpowiedź stackoverflow z kilkoma naprawdę fajnymi pomysłami! http://stackoverflow.com/questions/625433/how-to-convert-milliseconds-to-x-mins-x-seconds-in-java –
Ponadto, jako notatkę dodatkową, mogę naprawdę polecić interfejs API JodaTime podczas transakcji z datami w Javie. To naprawdę dużo ładniejsze niż wbudowane daty Java. http://joda-time.sourceforge.net/ –