Вы можете использовать эти функции:
fun getLocalDateFromString(d: String, format: String): LocalDate {
return LocalDate.parse(d, DateTimeFormatter.ofPattern(format))
}
возвращает LocalDate
из строки d
, отформатированной с помощью format
.
fun getDaysDif(fromDate: LocalDate, toDate: LocalDate): Long {
return ChronoUnit.DAYS.between(fromDate, toDate)
}
, возвращает разницу вдней между двумя датами (LocalDate
)
Таким образом, вы можете сделать:
val days = getDaysDif(
getLocalDateFromString(tvDate1.text, "MM/dd/yyyy"),
getLocalDateFromString(tvDate2.text, "MM/dd/yyyy"))
Приведенный выше код работает для API уровня 26 и выше.
Для более низких версий используйте это:
val format = SimpleDateFormat("MM/dd/yyyy")
val days = TimeUnit.DAYS.convert(
format.parse(tvDate2.text).getTime() -
format.parse(tvDate1.text).getTime(),
TimeUnit.MILLISECONDS)