kotlin 时间戳怎么转换为LocalDateTime
时间: 2023-08-05 17:56:10 浏览: 269
在 Kotlin 中,可以使用 `LocalDateTime` 类来表示本地日期和时间。要将时间戳转换为 `LocalDateTime`,可以使用 `Instant.ofEpochMilli` 方法将时间戳转换为 `Instant`,然后使用 `atZone` 方法将其转换为本地日期时间。
下面是一个示例代码:
```kotlin
import java.time.*
fun main() {
val timestamp = 1629314400000L // 时间戳,表示 2021-08-19 00:00:00
val instant = Instant.ofEpochMilli(timestamp)
val localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault())
println(localDateTime) // 输出:2021-08-19T00:00
}
```
在上面的示例中,我们使用 `Instant.ofEpochMilli` 方法将时间戳转换为 `Instant`,然后使用 `LocalDateTime.ofInstant` 方法将其转换为本地日期时间。注意,我们需要指定一个时区,这里我们使用 `ZoneId.systemDefault()` 来获取系统默认的时区。最后,我们将结果打印出来,输出为 `2021-08-19T00:00`。
相关问题
kotlin 毫秒时间戳怎么转换为LocalDateTime
可以使用`Instant`和`ZoneId`将毫秒时间戳转换为`LocalDateTime`。以下是示例代码:
```kotlin
val timestamp = 1617620873000 // 毫秒时间戳
val instant = Instant.ofEpochMilli(timestamp)
val zoneId = ZoneId.systemDefault()
val localDateTime = LocalDateTime.ofInstant(instant, zoneId)
```
首先,使用时间戳创建一个`Instant`对象。然后,使用`ZoneId.systemDefault()`获取本地时区的`ZoneId`。最后,使用`LocalDateTime.ofInstant()`将`Instant`对象转换为`LocalDateTime`。
kotlin 毫秒时间戳怎么转换为yyyy-MM-dd HH:mm:ss格式的LocalDateTime
可以使用`DateTimeFormatter`将`LocalDateTime`格式化为指定的字符串格式。以下是示例代码:
```kotlin
val timestamp = 1617620873000 // 毫秒时间戳
val instant = Instant.ofEpochMilli(timestamp)
val zoneId = ZoneId.systemDefault()
val localDateTime = LocalDateTime.ofInstant(instant, zoneId)
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val formattedDateTime = localDateTime.format(formatter)
```
首先,使用时间戳创建一个`Instant`对象。然后,使用`ZoneId.systemDefault()`获取本地时区的`ZoneId`。接下来,使用`LocalDateTime.ofInstant()`将`Instant`对象转换为`LocalDateTime`。然后,创建一个`DateTimeFormatter`对象,指定要输出的日期时间格式。最后,使用`LocalDateTime.format()`方法将`LocalDateTime`格式化为指定格式的字符串。
阅读全文