Bra*_*och 25 timestamp clojure unix-timestamp
我想知道当前的时间戳是什么.到目前为止我能做的最好的事情就是定义我自己的函数来做到这一点:
(int (/ (.getTime (java.util.Date.)) 1000))
Run Code Online (Sandbox Code Playgroud)
是否有一个标准函数用于获取clojure的Unix时间戳?
Ale*_*lex 52
几乎所有基于JVM的时间戳机制都将时间测量为自纪元以来的毫秒数 - 所以没有,没有任何标准**会给出自纪元以来的秒数.
您的功能可以略微简化为:
(quot (System/currentTimeMillis) 1000)
Run Code Online (Sandbox Code Playgroud)
**Joda可能会有这样的东西,但是为了这个而拉入第三方库似乎有点矫枉过正.
Mic*_*zyk 15
我会选择clj-time,标准的Clojure库来处理时间和日期(包装Joda-Time).是的,它是一个额外的依赖,只是一个简单的需要,如果你真的只想要当前的时间戳,可能会有点过分; 即便如此,这只是一个很好的便利,几乎没有成本.如果你最终需要额外的与时间相关的功能,那么它将在所有基础知识中实现.
至于代码,这里是当前版本的Leiningen依赖项说明符:
[clj-time "0.5.1"]
Run Code Online (Sandbox Code Playgroud)
这里有一个获取当前时间戳的片段:
(require '[clj-time.core :as time]
'[clj-time.coerce :as tc])
;; milliseconds since Unix epoch
(tc/to-long (time/now))
;; also works, as it would with other JVM date and time classes
(tc/to-long (java.util.Date.))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17380 次 |
| 最近记录: |