fluid-time
fluid-time copied to clipboard
Additions for Kotlin's date & time library kotlinx-datetime
fluid-time
Additions for Kotlin's date & time library kotlinx-datetime.
kotlinx-datetime is very early stage and not as actively developed as other official libraries. This library keeps adding missing pieces until the official
library catches up.
Installation
build.gradle.kts:
dependencies {
implementation("io.fluidsonic.time:fluid-time:0.15.0")
}
Additions
Duration(days, hours, minutes, seconds, nanoseconds)–Durationfactory function using componentsDurationSerializer-kotlinx-serializationserializer forDurationLocalDate.atTime(LocalTime): LocalDateTime- createLocalDateTimefromLocalDateandLocalTimeLocalDateOrNull(year, month, day)- likeLocalDate()but returnsnullinstead of throwingLocalDateTime.time- returns its time components asLocalTimeLocalTime- similar to the existingLocalDateandLocalDateTimeLocalTime.midnight-00:00LocalTime.atDate(LocalDate): LocalDateTime- createLocalDateTimefromLocalDateandLocalTimeTimestamp- alias ofInstantfor those who prefer that name (Discussion)(LocalDate|LocalDateTime|LocalTime|Timestamp).parseOrNull(String)- likeparse()but returnsnullinstead of throwingTimeZone.ofOrNull(String)- likeof()but returnsnullinstead of throwingTimestamp.durationSince(Timestamp)/.durationUntil(Timestamp)- getDurationbetween two timestampsTimestamp.toLocalDate(TimeZone)- shortcut for.toLocalDateTime(timeZone).dateTimestamp.toLocalTime(TimeZone)- shortcut for.toLocalDateTime(timeZone).timeTimestamp.toJavaDate(): Date- converts aTimestamptojava.util.Date(JVM only)Month.daysIn(year)- number of days in a given month and yearYear.isLeap(year)- whether a year is a leap yearManualClock- aClockimplementation suitable for unit testing- JVM, JS and Darwin are supported.
linuxX64andmingwX64are not supported.
Previous library
Before kotlinx-datetime was released this library has provided its own date & time implementations for JVM and Darwin. That work has been discontinued in
favor of using the new official library, even if experimental, with additions provided by this reworked library. Bugfix releases will still be provided if
needed.
You can still use the last previous library version 0.10.5.
License
Apache 2.0