I am struggling to calculate time when going after midnight:
String time = "15:00-18:05"; //Calculating OK
//String time = "22:00-01:05"; //Not calculating properly
String[] parts = time.split("-");
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
Date date1 = null;
Date date2 = null;
Date dateMid = null;
String dateInString = "24:00";
try {
dateMid = format.parse(dateInString);
} catch (ParseException e1) {
e1.printStackTrace();
}
try {
date1 = format.parse(parts[0]);
date2 = format.parse(parts[1]);
} catch (ParseException e) {
e.printStackTrace();
}
long difference = date2.getTime() - date1.getTime();
if (date2.getTime()<date1.getTime()) //in case beyond midnight calculation
{
difference = dateMid.getTime()-difference;
}
int minutes = (int) ((difference / (1000*60)) % 60);
int hours = (int) ((difference / (1000*60*60)) % 24);
String tot = String.format("%02d:%02d", hours,minutes);
System.out.println("dif2: "+tot);