Ide 无法在clojure中使用org.joda时间

Ide 无法在clojure中使用org.joda时间,ide,clojure,Ide,Clojure,在Java中,我有这样一行代码 public static final DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-M-dd HH:mm:ss"); 在clojure中,我试图将其转换为clojure代码,并且我已经导入了文件本身 但这条线似乎不起作用 (def fmt (.forPattern DateTimeFormat ("yyyy-M-dd HH:mm:ss"))) 给出CompilerException java.

在Java中,我有这样一行代码

public static final DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-M-dd HH:mm:ss");
在clojure中,我试图将其转换为clojure代码,并且我已经导入了文件本身 但这条线似乎不起作用

(def fmt (.forPattern DateTimeFormat ("yyyy-M-dd HH:mm:ss")))
给出CompilerException java.lang.RuntimeException异常:无法在此上下文中解析symbol:DateTimeFormat,正在编译:(ShipDataRecord.clj:65)


或者我做得不对有人能解释一下吗首先,clojure中的静态方法被称为:

(DateTimeFormat/forPattern args...)
其次,您不应该用括号括住方法/函数参数,即这是不正确的(忽略现在调用静态方法的无效语法):

应省略
“yyyy-M-dd HH:mm:ss”
周围的括号

因此,做你想做的事情的有效方法是:

(def fmt (DateTimeFormat/forPattern "yyyy-M-dd HH:mm:ss"))

或者,您可以使用

,因为您已经熟悉Joda Time,您可以使用

(def fmt (DateTimeFormat/forPattern "yyyy-M-dd HH:mm:ss"))