Saat farkini nasil bulacagim?
08.09.2017 - 11:20
Kullanicidan integer olarak 2 ayri saat ve dakika aliyorum. Saat farkini nasil bulacagim? Bazen negatif oluyor dakika.
17
Görüntülenme
0 Beğeni
SimpleDateFormat format = new SimpleDateFormat("hh:mm");
Date Date1 = null;
Date Date2 = null;
try {
Date1 = format.parse("08:00");
Date2 = format.parse("05:30");
} catch ( ParseException e ) {
e.printStackTrace ( );
}
long mills = Date1.getTime() - Date2.getTime();
Log.v("Data1", ""+Date1.getTime());
Log.v("Data2", ""+Date2.getTime());
int Hours = (int) (mills/(1000 * 60 * 60));
int Mins = (int) (mills/(1000*60)) % 60;
String diff = Hours + ":" + Mins; // Aradaki saat farkını verir
Biraz düşünmek lazım aslında. Diyelim ki hiç bir converter fonksiyon bulamadınız o zaman sıfırdan bir algoritma geliştirmeye çalışın. Örnek olarak vermişsiniz. 00:30 + 01:40 = 01:70 burada sorun ne dakika 59 üzerinde değerler alamaz. O zaman ne yapmak lazım dakika = dakika % 60 yaparsan yeni dakika değerini bulmuş olursun ve her 60 dk da 1 saat artması gerektiği içinde saat += dakika / 60 olur. Aynı şekilde saniye ve gün(24) içinde yapabilirsiniz. Anlatmak istediğim sadece biraz beyin yormak her fonksiyonu hatırlamayabilirsiniz ama sıfırdan istediğiniz fonksiyonu yazabilirsiniz. Kolay gelsin.
Sati sadece saat olarak mı alıyorsunuz yoksa tarih saat şeklinde mi ? Eğer tarih saat şeklinde alıyorsanız tarihli zamanı mili saniyeye çevirerek arasındaki farkı hesaplayabilirisiniz