Capturei os valores do editText Entrada = 9/5/2021 Saida = 10/5/2021 Esses valores são em String
E preciso calcular a quantidade de dias, exemplo: Resultado = 1
Como monto esse código em Kotlin? Como diminuir uma data pela outra?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Capturei os valores do editText Entrada = 9/5/2021 Saida = 10/5/2021 Esses valores são em String
E preciso calcular a quantidade de dias, exemplo: Resultado = 1
Como monto esse código em Kotlin? Como diminuir uma data pela outra?
Boa tarde Luciano.
Você precisa primeiro converter a string para um tipo de data para fazer esse cálculo. Por exemplo:
val dataInicialString = "9/5/2021"
val dataFinalString = "10/5/2021"
val formato = DateTimeFormatter.ofPattern("d/M/yyyy");
val dataInicial = LocalDate.parse(dataInicialString, formato)
val dataFinal = LocalDate.parse(dataFinalString, formato)
val diferencaDias = ChronoUnit.DAYS.between(dataInicial, dataFinal)
println(diferencaDias) Aqui tem um link com esse exemplo funcionando https://pl.kotl.in/e6JPNUp38
Vale lembrar que a api do java.time utilizado nesse exemplo só está disponível integralmente à partir do API Level 26 do Android (https://developer.android.com/reference/java/time/package-summary).