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

如何在Clojure中最快读取系统时钟?获取UTC纳秒级时间戳

获取UTC纳秒级时间戳的Clojure实现

要获取自1970年1月1日UTC以来的纳秒级整数时间戳,同时规避创建Java Date对象的开销,你可以直接基于Java的底层工具类或系统方法实现,完全不需要多余的日期格式转换:

纳秒精度实现(长整型)

如果需要完整的纳秒精度,可通过Instant提取秒数和当前秒内的纳秒数组合计算,开销极小且不会生成冗余的日期对象:

(let [instant (java.time.Instant/now)]
  (+ (* (.getEpochSecond instant) 1000000000)
     (.getNano instant)))

毫秒精度实现(更轻量化)

如果业务允许毫秒精度,直接调用系统底层的毫秒时间戳方法是最优选择,完全无对象封装开销:

(System/currentTimeMillis)

注:System/nanoTime是JVM启动后的相对时间,并非自1970年以来的绝对时间,不符合需求,请勿使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 17:38:11