Kotlin Date.daysDespués de la function diferente valor de retorno con los mismos arguments

Me he estado preguntando por qué mi código tiene errores, descubrí un posible error.

fun daysAfter(date: Date): Int { Log.d("DayLayout", "date arg - $date") Log.d("DayLayout", "firstDate.time - " + firstDate.time.toString()) val ret = date.daysAfter(firstDate.time).toInt() Log.d("DayLayout", "day after - " + ret) return ret } 

Primera invocación de una function dada

D / DayLayout: date arg – dom ene 08 09:48:57 EST 2017

D / DayLayout: firstDate.time – dom 01 ene 09:49:04 EST 2017

D / Day Lay out: día después – 6

Segunda invocación, algunos segundos después

D / DayLayout: date arg – dom ene 08 09:49:04 EST 2017

D / DayLayout: firstDate.time – dom 01 ene 09:49:04 EST 2017

D / DayLayout: día después – 7

¿Cómo es eso posible? Me falta algo, la function con los mismos arguments debería devolver el mismo valor.

Me falta algo, la function con los mismos arguments debería devolver el mismo valor.

Pero no lo estás llamando con los mismos valores. Lo estás llamando con dos valores diferentes.

Primero, estás comparando estas dos dates:

 date arg - Sun Jan 08 09:48:57 EST 2017 ^^^^^ firstDate.time - Sun Jan 01 09:49:04 EST 2017 

Y luego comparas:

 date arg - Sun Jan 08 09:49:04 EST 2017 ^^^^^ firstDate.time - Sun Jan 01 09:49:04 EST 2017 

Solo mirando los times, parece obvio por qué la primera invocación da una respuesta diferente de la segunda porque hay un número diferente de días entre ellos. Mira los times. En el primero, tiene 6 días, 23 horas y 53 segundos desde el firstDate . En el segundo, tienes exactamente 7 días.

  • Cómo mostrar un solo artículo seleccionado en recyclerview usando kotlin
  • ¿De qué se trata este package "KotlinRulezzz"?
  • Obtener FragmentManager dentro de AndroidViewModel
  • ¿Cómo escribir una transformación reutilizable para el valor de String to Enum en un grupo de classs Enum? (Kotlin)
  • Configurando "build.gradle" para el module Kotlin en Android Studio
  • La delegación de propiedad kotlin alias lanza Exception
  • Kotlin, JPA y campos booleans
  • Extensiones de Kotlin para Android, los packages no se pueden importar
  • Generación de constructores vacíos de Kotlin Poet - inheritance
  • Spring Data crea una unión interna en OneToMany
  • Cómo condicionar la comprobación como i <J in para loop kotlin