
Simplifies duration handling with extension properties, offering conversions to `Double` and `Int`. Provides `Duration.inDouble*` and `Duration.inWholeInt*` functions for concise value retrieval.
Groovy
repositories {
mavenCentral()
}
implementation 'com.eygraber:kotlin-duration-extensions:1.1.0'
Kotlin
repositories {
mavenCentral()
}
implementation("com.eygraber:kotlin-duration-extensions:1.1.0")
Snapshots can be found at the Sonatype s01 repository:
Groovy
repositories {
maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots' }
}
Kotlin
repositories {
maven(url = "https://s01.oss.sonatype.org/content/repositories/snapshots")
}
Extension properties are supplied on Int, Long, and Double to make creating a Duration simpler:
2.nanoseconds
2.microseconds
2.milliseconds
2.seconds
2.minutes
2.hours
2.daysAs of version 1.1.0 the above extension properties are removed from the library.
This is because Kotlin 1.6.0 added support for them through the kotlin.time.Duration.Companion.* properties.
There are extension properties supplied on Duration to get the underlying value as a Double and as an Int:
val duration = 2.seconds
duration.inDoubleNanoseconds
duration.inDoubleMicroseconds
duration.inDoubleMilliseconds
duration.inDoubleSeconds
duration.inDoubleMinutes
duration.inDoubleHours
duration.inDoubleDays
duration.inWholeIntNanoseconds
duration.inWholeIntMicroseconds
duration.inWholeIntMilliseconds
duration.inWholeIntSeconds
duration.inWholeIntMinutes
duration.inWholeIntHours
duration.inWholeIntDaysThe Duration properties that returned the value as a Double have been deprecated. This is because Duration is now backed by a Long.
The new way to retrieve the value as a Double is to use Duration.toDouble(DurationUnit). That can be a little verbose, so this library provides Duration.inDouble* functions.
Since a lot of existing APIs accept an Int amount of milliseconds/seconds/etc, this library also provides Duration.inWholeInt* functions.
Groovy
repositories {
mavenCentral()
}
implementation 'com.eygraber:kotlin-duration-extensions:1.1.0'
Kotlin
repositories {
mavenCentral()
}
implementation("com.eygraber:kotlin-duration-extensions:1.1.0")
Snapshots can be found at the Sonatype s01 repository:
Groovy
repositories {
maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots' }
}
Kotlin
repositories {
maven(url = "https://s01.oss.sonatype.org/content/repositories/snapshots")
}
Extension properties are supplied on Int, Long, and Double to make creating a Duration simpler:
2.nanoseconds
2.microseconds
2.milliseconds
2.seconds
2.minutes
2.hours
2.daysAs of version 1.1.0 the above extension properties are removed from the library.
This is because Kotlin 1.6.0 added support for them through the kotlin.time.Duration.Companion.* properties.
There are extension properties supplied on Duration to get the underlying value as a Double and as an Int:
val duration = 2.seconds
duration.inDoubleNanoseconds
duration.inDoubleMicroseconds
duration.inDoubleMilliseconds
duration.inDoubleSeconds
duration.inDoubleMinutes
duration.inDoubleHours
duration.inDoubleDays
duration.inWholeIntNanoseconds
duration.inWholeIntMicroseconds
duration.inWholeIntMilliseconds
duration.inWholeIntSeconds
duration.inWholeIntMinutes
duration.inWholeIntHours
duration.inWholeIntDaysThe Duration properties that returned the value as a Double have been deprecated. This is because Duration is now backed by a Long.
The new way to retrieve the value as a Double is to use Duration.toDouble(DurationUnit). That can be a little verbose, so this library provides Duration.inDouble* functions.
Since a lot of existing APIs accept an Int amount of milliseconds/seconds/etc, this library also provides Duration.inWholeInt* functions.