clojure - 如何在 clojure 中获取当前日期 YYYYMMDD?

标签 clojure

我正在使用以下代码:

(require '[clj-time.core :as time]
         '[clj-time.coerce :as tc]
         '[clj-time.format :as f])
 (f/unparse (f/formatter "yyyyMMdd") time/now)

但它会抛出以下错误。

caused by: java.lang.ClassCastException: clj_time.core$now cannot be cast to org.joda.time.ReadableInstant

最佳答案

unparse 函数需要 2 个参数。首先是格式,它应该是 org.joda.time.format.DateTimeFormatter 的实例,您可以通过调用正确创建它

 (f/formatter "yyyyMMdd")

第二个参数是日期时间,它应该是 org.joda.time.DateTime 的实例,在这里你犯了一个小错误。您不是传递 DateTime,而是传递 clojure 函数 time/now,您应该做的是像这样调用该函数

(f/unparse (f/formatter "yyyyMMdd") (time/now))

关于clojure - 如何在 clojure 中获取当前日期 YYYYMMDD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31084575/

相关文章:

Clojure : more than 1 variadic overload, 更惯用的做法?

Clojure.spec key : separating key name from the spec validating it

clojure - 尝试部署 Clojure jar 时,签名失败并显示 : secret key not available

clojure - 如何使用 Datomic 分区?

clojure - 在clojure中使用ConcurrentHashMap时如何指定类型

file-upload - 环形中间件不提取多部分参数

clojure - 如何从 Intellij Idea 运行 leiningen?

clojure - 为什么 ClojureScript 原子没有实现完整的协议(protocol)?

java - 如何使用 Scheme/Lisp/Clojure 解决 Matrix/LP 问题?

clojure - 如何让 Clojure 尊重 `*assert*` 变量?