2015-06-27 39 views
2

我使用下面的代碼:如何在clojure中獲取YYYYMMDD的當前日期?

(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 
+3

功能我沒有clj_time方便,但我懷疑的問題是,你正在使用的功能'now'作爲一個值,當你真正需要做的就是調用'(time/now)'來獲得返回值。 – noisesmith

回答

2

unparse函數需要2個參數。首先是格式,這應該是org.joda.time.format.DateTimeFormatter,您可以通過調用

(f/formatter "yyyyMMdd") 

第二個參數正確創建的實例日期時間,這應該是org.joda的一個實例.time.DateTime,在這裏你犯的是一個小錯誤。不是傳遞日期時間你逝去的Clojure的作用時間/現在,你應該做的是這樣調用

(f/unparse (f/formatter "yyyyMMdd") (time/now)) 
相關問題