Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

seljabali/kotlinx-datetime-fun

Repository files navigation

SwiftDate

Kotlinx DateTime Fun

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)

Features

Parsing

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")

Comparisons

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)

Formatting

Print dates and times using a custom format

val date = "2021年07月06日".toLocalDate()
val result = date.print(format = "MM/dd/yyyy")

Attributes & Mutations

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)

Preset Dates

Quickly access commonly used dates

val result = LocalTime.now()
val result = LocalDate.startOfYear()
val result = LocalDateTime.yesterday()

Installation

Add the following to your module’s build.gradle:

repositories {
 mavenCentral()
}
dependencies {
 implementation("org.eljabali.sami.kotlinxdatetimefun:kotlinxdatetimefun:0.0.1")
} 

Find this library useful? 😏

Star this repository as others have . ⭐️

AltStyle によって変換されたページ (->オリジナル) /