0Pricing
Kotlin Multiplatform Academy · 课时

使用 kotlinx-datetime 处理日期

以适用于多平台的方式处理时间和日期

使用 kotlinx-datetime 处理日期 是 CoddyKit 上的免费 Kotlin Multiplatform Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Kotlin Multiplatform Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Kotlin Multiplatform Academy 课程共包含 4 节课。

本课时的部分内容尚未翻译,以英文显示。

Dates Need a Library

The core stdlib has no shared date type, so KMP uses kotlinx-datetime, an official multiplatform library for time.

Add the Dependency

You pull kotlinx-datetime into commonMain in your build file, and then every target can work with dates the same way.

implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.0")

Instant Is a Moment

An Instant is a single point on the timeline, the same exact moment no matter which device reads it.

val now: Instant = Clock.System.now()

Time Zones Matter

The same instant looks different per TimeZone. The library lets you convert moments into local wall-clock time safely.

val zone = TimeZone.currentSystemDefault()

LocalDateTime for People

A LocalDateTime is the human-readable date and time, like a calendar entry, without any time-zone baggage attached.

val dt = now.toLocalDateTime(zone)

Read the Parts

From a LocalDateTime you can read fields like year, month, day and hour, all in plain common Kotlin.

val y = dt.year
val h = dt.hour

LocalDate for Calendars

When you only care about the day, use LocalDate. It models a date with no time component at all.

val today: LocalDate = dt.date

Do Math With Durations

You can add or subtract a Duration from an Instant to shift moments forward or backward in time.

val later = now.plus(1, DateTimeUnit.HOUR, zone)

Parse and Format Text

kotlinx-datetime can parse ISO strings into instants and turn them back into text, ideal for API payloads.

val parsed = Instant.parse("2024-01-01T00:00:00Z")

Identical On Every Target

Because the library is multiplatform, your date logic produces the same result on Android, iOS and desktop. 🙂

Keep Dates in Shared Code

Put all your time handling in commonMain with kotlinx-datetime, so the two apps never disagree about dates.

Quick Check

Which type marks one exact moment in time?

Recap

Use kotlinx-datetime for dates: Instant for moments, LocalDateTime for people, and shared code that agrees across platforms.

常见问题解答

「使用 kotlinx-datetime 处理日期」课时是免费的吗?

是的 — 「使用 kotlinx-datetime 处理日期」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Kotlin Multiplatform Academy 课程的其余内容,请升级到 CoddyKit PRO。 Kotlin Multiplatform Academy 课程共包含 4 节课。

「使用 kotlinx-datetime 处理日期」这节课中我会学到什么?

以适用于多平台的方式处理时间和日期 你通过在浏览器中直接运行的动手代码来练习 Kotlin Multiplatform Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Kotlin Multiplatform Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Kotlin Multiplatform Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「使用 kotlinx-datetime 处理日期」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Kotlin Multiplatform Academy 课中编写并运行代码吗?

能。每节 Kotlin Multiplatform Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 随处可用的字符串、数字与集合
  2. 共享代码中的 map、filter 与 fold
  3. 使用 kotlinx-datetime 处理日期
  4. Common 标准库中没有什么
← 返回 Kotlin Multiplatform Academy