Kotlin

java.time — When You Need JVM Interop

admin by @admin ADMIN
5h ago
Jun 1, 2026
Public
0 0 up · 0 down Sign in to vote
On the JVM, `java.time` is fine — and often necessary for interop with Java APIs. Kotlin's extension methods make it ergonomic enough that you might never reach for kotlinx-datetime.
Kotlin
Raw
import java.time.*
import java.time.format.DateTimeFormatter

fun main() {
    val now: Instant = Instant.now()
    val today: LocalDate = LocalDate.now()
    val nowZ: ZonedDateTime = ZonedDateTime.now(ZoneId.of("America/Chicago"))

    // Format
    println(now.toString())                                   // 2025-03-12T19:25:00Z
    println(nowZ.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME))

    // Custom format
    val pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")
    println(nowZ.format(pattern))

    // Arithmetic
    val later = today.plusWeeks(2).minusDays(3)
    val betweenDays = ChronoUnit.DAYS.between(today, later)
    println("$later (in $betweenDays days)")

    // Parse
    val parsed = LocalDate.parse("2025-12-25")
    val parsedCustom = LocalDateTime.parse("12/25/2025 09:00",
        DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm"))
}
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.