Kotlinx DateTime extension functions.
- val localDateFormat = LocalDate.Format {
- byUnicodePattern("dd/MM/yyyy")
- }
- val date = LocalDate.parse("11/15/2024", localDateFormat)
+ val date = "11/15/2024".toLocalDate("dd/MM/yyyy")
- val dateFormat = LocalDate.Format {
- byUnicodePattern("dd/MM/yyyy")
- }
- print(dateFormat.format(date))
+ print(date.print("MM/dd/yyyy"))
- val result = date.plus(days * -1, DateTimeUnit.DAY)
+ val result = date.minusDays(days)
Convert strings into Kotlinx DateTime objects with ease
// Provided time
val result = "01:30 AM".toLocalTime()
// Provided local date
val result = "2021-06-07".toLocalDate()
// Provided ambiguous date formats
val result = "06/07/2021".toLocalDateTime(format = "MM/dd/yyyy")
Compare dates and times at various granularities
// Year
val result = dateA.compareYear(dateB)
val result = dateA.isBeforeYear(dateB)
// Month
val result = dateA.compareMonth(dateB)
val result = dateA.getMonthDifference(dateB)
val result = dateA.isEqualMonth(dateB)
// Day
val result = dateA.compareDay(dateB)
val result = dateA.getDayDifference(dateB)
val result = dateA.isAfterEqualDay(dateB)
// Time
val result = dateA.compareTime(dateB)
val result = dateA.getMinuteDifference(dateB)
val result = dateA.isAfterEqualTime(dateB)
Print dates and times using a custom format
val date = "2021-07-06".toLocalDate()
val result = date.print(format = "MM/dd/yyyy")
Query and transform date/time attributes
val result = date.isAtStartOfDay()
val result = date.getDaysInMonth()
val result = date.getLast(DayOfWeek.FRIDAY)
val result = date.getNext(DayOfWeek.MONDAY)
Quickly access commonly used dates
val result = LocalTime.now()
val result = LocalDate.startOfYear()
val result = LocalDateTime.yesterday()
Add the following to your module’s build.gradle
:
repositories {
mavenCentral()
}
dependencies {
implementation("org.eljabali.sami.kotlinxdatetimefun:kotlinxdatetimefun:0.0.1")
}
Star this repository as others have. ⭐️