Dizeleriniz varsa, bunları java.text.SimpleDateFormat kullanarak bir java.util.Date dosyasına ayırmanız gerekir. gibi bir şey:
İşte
java.text.DateFormat df = new java.text.SimpleDateFormat("hh:mm:ss");
java.util.Date date1 = df.parse("18:40:10");
java.util.Date date2 = df.parse("19:05:15");
long diff = date2.getTime() - date1.getTime();
fark 18:40:10 ve 19:05:15 arasında geçen milisaniye sayısıdır.
DÜZENLEME 1: Bunun için bir yöntem çevrimiçi Bulunan
(http://www.javaworld.com/javaworld/jw-03-2001/jw-0330-time.html?page=2 da):
int timeInSeconds = diff/1000;
int hours, minutes, seconds;
hours = timeInSeconds/3600;
timeInSeconds = timeInSeconds - (hours * 3600);
minutes = timeInSeconds/60;
timeInSeconds = timeInSeconds - (minutes * 60);
seconds = timeInSeconds;
DÜZENLEME 2:
Bunun bir özensiz bir yoludur (bir dize olarak isterseniz, ama) çalışır:
String diffTime = (hours<10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds) + " h";
DÜZENLEME 3:
Eğer milisaniyeleri istiyorsanızsadece Ardından 1000 ile senin saniyelik kesirli kısmını almak için o bölebilirsiniz bu
long timeMS = diff % 1000;
yok.
Aham örnekleri gördüm ama yine de sonuçlara ihtiyacım var 01: 10.34 saat, burada milisaniyede sonuç alıyorum ve sonuç almak için daha fazla matematiğe ihtiyacım var, en basit çözüm var mı? – Nezir
Yukarıdaki düzenlemeye bakın: – jcb
Zamanınız yalnızca saatler, dakikalar ve saniyeler kaydediliyorsa, sonuçta milisaniye nasıl elde edersiniz? – jcb