Пришло время проанализировать и найти разницу.
Код: Выделить всё
val startStr = "2024-06-16T15:35:08.363341+0000"
val endStr = "2024-06-16T15:50:08.340638+0000"
Код: Выделить всё
fun diff() :String {
val startStr = "2024-06-16T15:35:08.363341+0000"
val endStr = "2024-06-16T15:50:08.340638+0000"
val differenceInTimeFormat = getDifferenceInTimeFormat(date(startStr), date(endStr))
return differenceInTimeFormat
}
private fun date(startStr: String): Date = try {
val dateFormat3 = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSZZZZZ", Locale.US)
dateFormat3.parse(startStr)!!
} catch (e: ParseException) {
throw Exception()
}
private fun getDifferenceInTimeFormat(startDate: Date, endDate: Date): String {
val diffInMilli = endDate.time - startDate.time
val hours = TimeUnit.MILLISECONDS.toHours(diffInMilli)
val minutes = TimeUnit.MILLISECONDS.toMinutes(diffInMilli) % 60
val seconds = TimeUnit.MILLISECONDS.toSeconds(diffInMilli) % 60
return String.format(Settings.localeDefault, "%02d:%02d:%02d", hours, minutes, seconds)
}
Код: Выделить всё
00:14:59Ожидается: 00:14:37 Факт: 00:14 :59
Код: Выделить всё
@Test
fun addition_isCorrect() {
assertEquals(diff(), "00:14:49")
}
Код: Выделить всё
"yyyy-MM-dd'T'HH:mm:ss.SSSSSS"Подробнее здесь: https://stackoverflow.com/questions/786 ... -unit-test