val formatter = DateTimeFormatter.ofPattern("yyyy:MM:dd HH:mm:ss") val dateTime = LocalDateTime.parse(dateTimeString, formatter) val formattedDateTime = dateTime.format(formatter) 如何转为Long类型
时间: 2024-04-16 16:29:33 浏览: 159
要将格式化后的日期时间字符串转换为 `Long` 类型的时间戳,可以使用 `LocalDateTime` 对象的 `toEpochSecond()` 方法。该方法将返回从1970年1月1日午夜(格林威治标准时间)开始计算的秒数。
以下是一个示例代码,将格式化后的日期时间转换为 `Long` 类型的时间戳:
```kotlin
val formatter = DateTimeFormatter.ofPattern("yyyy:MM:dd HH:mm:ss")
val dateTime = LocalDateTime.parse(formattedDateTime, formatter)
val timestamp = dateTime.toEpochSecond(ZoneOffset.UTC)
println(timestamp) // 输出时间戳,单位为秒
```
在上述代码中,我们首先定义了一个 `DateTimeFormatter` 对象 `formatter`,用于解析和格式化日期时间字符串。
然后,我们使用 `LocalDateTime.parse()` 方法将格式化后的日期时间字符串 `formattedDateTime` 解析为 `LocalDateTime` 对象 `dateTime`。
最后,我们使用 `dateTime.toEpochSecond(ZoneOffset.UTC)` 将 `dateTime` 转换为从1970年1月1日午夜开始计算的秒数,并将其赋值给 `timestamp` 变量。
请注意,上述代码中的时间戳是以秒为单位的长整型 (`Long`) 值。如果您需要以毫秒为单位的时间戳,可以将 `toEpochSecond()` 改为 `toInstant(ZoneOffset.UTC).toEpochMilli()`。
阅读全文