After subtracting time 1:10 and 2:15 using java I am getting the ouput as long which is in milliseconds -3900000. Then I convert this millisecond into time format, then the output produced is Output : -01:-05:00.
The output I am expecting is like -01:05:00. There should be only one negative sign in the output
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
import java.util.concurrent.TimeUnit;
public class TimeAddition {
public static void main(String args[]) throws ParseException {
String b = "1:10";
String a = "2:15";
// converting String time into dateTime
DateFormat sdf = new SimpleDateFormat("hh:mm");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
Date bTime = sdf.parse(b);
Date aTime = sdf.parse(a);
long totalTime = bTime.getTime() - aTime.getTime();
System.out.println("Total time in millisecond = " + totalTime);
long millis = totalTime;
String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis),
TimeUnit.MILLISECONDS.toMinutes(millis)
- TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
TimeUnit.MILLISECONDS.toSeconds(millis)
- TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
System.out.println("Time format " + hms);
}
}
Output produced : Total time in millisecond = -3900000 Time format -1:-5:00
Expected Time format = -01:05:00