Kotlinx DateTime extension functions.
Build Status Maven Central Kotlin
- 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 . ⭐️