You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin LocalDateTime无毫秒属性,如何获取毫秒值?

从Kotlin LocalDateTime获取毫秒值

LocalDateTime本身没有直接提供millisecond属性,但可以通过以下两种方式获取毫秒相关值:

  • 方式1:通过纳秒值换算毫秒
    因为1毫秒等于1000000纳秒,直接对纳秒值做整除运算就能得到整数毫秒:
val date = LocalDateTime.parse("2020-03-25T23:58:20.000000647")
val millisecond = date.nano / 1_000_000
println(millisecond) // 输出:0

如果需要保留小数部分的毫秒值,用浮点数计算即可:

val millisecondWithDecimal = date.nano / 1_000_000.0
println(millisecondWithDecimal) // 输出:0.647
  • 方式2:转换为Instant获取 epoch 毫秒时间戳
    如果需要的是从1970-01-01T00:00:00Z开始的毫秒时间戳,需要先给LocalDateTime指定时区,再转换为Instant:
val date = LocalDateTime.parse("2020-03-25T23:58:20.000000647")
// 示例使用UTC时区,可根据需求替换为其他时区如"Asia/Shanghai"
val instant = date.atZone(ZoneId.of("UTC")).toInstant()
val epochMilli = instant.toEpochMilli()
println(epochMilli) // 输出对应时间戳

注意:LocalDateTime是无时区的本地时间,转换为时间戳时必须指定时区,否则无法确定对应的UTC基准时间。


内容的提问来源于stack exchange,提问作者MohammadBaqer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 14:17:44