import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] time1 = Arrays.stream(scanner.nextLine().split(":")).mapToInt((String s) -> { return Integer.valueOf(s); }).toArray(); int[] time2 = Arrays.stream(scanner.nextLine().split(":")).mapToInt((String s) -> { return Integer.valueOf(s); }).toArray(); int[] arr1 = time1;//first int[] arr2 = time2;//second int[] result = new int[3]; for (int i = 0; i < 3; i++) { if (time1[i] > time2[i]) { arr1 = time1; arr2 = time2; break; } else if (time1[i] < time2[i]) { arr1 = time2; arr2 = time1; break; } } for (int i = 2; i >= 0; i--) { if (arr1[i] - arr2[i] < 0) { arr1[i - 1] = arr1[i - 1] - 1; if (arr1[i - 1] < 0) { arr1[i - 2] = arr1[i - 2] - 1; arr1[i - 1] = arr1[i - 1] + 60; } arr1[i] = arr1[i] + 60; } result[i] = arr1[i] - arr2[i]; } StringBuilder sb = new StringBuilder(); for (int i = 0; i < 3; i++) { if ((i == 1 || i == 2) && result[i] < 10) { sb.append("0").append(result[i]); } else { sb.append(result[i]); } if (i != 2) { sb.append(":"); } } System.out.println(sb.toString()); } } |
Double click to view unformatted code.