📜  在 kotlin 中将时间更改为可读时间(1)

📅  最后修改于: 2023-12-03 15:07:42.194000             🧑  作者: Mango

在 Kotlin 中将时间更改为可读时间

在编写应用程序时,经常需要将时间格式更改为可读格式。Kotlin 提供了一些内置函数来处理时间。在本文中,我们将探讨如何使用 Kotlin 将时间更改为可读的格式。

日期的表示

在 Kotlin 中,日期可以使用 LocalDate 类表示。LocalDate 是一个不可变对象,用于表示年月日。

import java.time.LocalDate

fun main() {
    val today = LocalDate.now() // 当前日期
    println(today)
}

输出:

2021-11-12
时间的表示

在 Kotlin 中,时间可以使用 LocalTime 类表示。LocalTime 是一个不可变对象,用于表示时分秒。

import java.time.LocalTime

fun main() {
    val now = LocalTime.now() // 当前时间
    println(now)
}

输出:

12:34:56.789
日期时间的表示

在 Kotlin 中,日期时间可以使用 LocalDateTime 类表示。LocalDateTime 是一个不可变对象,用于表示年月日时分秒。

import java.time.LocalDateTime

fun main() {
    val now = LocalDateTime.now() // 当前日期时间
    println(now)
}

输出:

2021-11-12T12:34:56.789
格式化输出时间

使用 java.time.format.DateTimeFormatter 类可以格式化输出时间。

import java.time.LocalDateTime
import java.time.format.DateTimeFormatter

fun main() {
    val now = LocalDateTime.now()
    val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
    val formatted = now.format(formatter)
    println(formatted)
}

输出:

2021-11-12 12:34:56
计算时间差

使用 Duration 类可以计算两个时间之间的差。

import java.time.LocalDate
import java.time.LocalDateTime
import java.time.LocalTime
import java.time.Duration

fun main() {
    val startDate = LocalDate.of(2021, 11, 1)
    val startTime = LocalTime.of(10, 0, 0)
    val startDateTime = LocalDateTime.of(startDate, startTime)

    val endDate = LocalDate.now()
    val endTime = LocalTime.now()
    val endDateTime = LocalDateTime.of(endDate, endTime)

    val duration = Duration.between(startDateTime, endDateTime)
    println("Time elapsed: ${duration.toMinutes()} minutes")
}

输出:

Time elapsed: 14108 minutes
结论

Kotlin 中处理时间可以使用 LocalDateLocalTimeLocalDateTime 类。使用 DateTimeFormatter 可以将时间格式化为可读的格式。使用 Duration 可以计算两个时间之间的差。