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

如何在clojure中获取当前日期为YYYYMMDD?,clojure,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

我正在使用以下代码:

(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")
第二个参数是date-time,它应该是org.joda.time.DateTime的一个实例,这里您犯了一个小错误。现在传递clojure函数time/now,而不是传递DateTime,您应该这样调用函数

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

我手头没有clj_time,但我怀疑问题在于您正在使用函数
now
作为一个值,而您真正需要做的是调用它
(time/now)
来获取返回值。