使用clj-time将Clojure #inst及时转换为Joda时间

时间:2017-06-12 11:31:39

标签: parsing clojure jodatime clj-time

使用clj-time库将Job时间等Clojure时间瞬间解析为Joda时间的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

如果您有java.util.Date个对象:

(type #inst "2017-01-01T12:00:00+02:00")
;;=> java.util.Date

clj-time具有clj-time.coerce命名空间,其from-date函数将java.util.Date个对象作为输入。例如:

(require '[clj-time.coerce :as c])

((juxt type str) (c/from-date #inst "2017-01-01T12:00:00"))
;;=> [org.joda.time.DateTime "2017-01-01T12:00:00.000Z"]

答案 1 :(得分:0)

clj-time现在还提供了一种数据读取器,用于自动将EDN中的日期强制转换为joda日期时间/从joda日期时间开始:clj-time EDN support

(clojure.edn/read-string {:readers clj-time.coerce/data-readers}
                         "#clj-time/date-time \"2019-07-10T06:00:00.000Z\"")
==>
#clj-time/date-time "2019-07-10T06:00:00.000Z"