3

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: Unable to resolve symbol: DateTimeFormat in this context, compiling:(ShipDataRecord.clj:65) の例外を与える

または、私はそれを間違ってやっていますか誰かが親切に説明してくれますか

4

3 に答える 3

5

まず、clojure の静的メソッドは次のように呼び出されます。

(DateTimeFormat/forPattern args...)

次に、メソッド/関数の引数を括弧で囲んではなりません。つまり、これは正しくありません (静的メソッドを呼び出すための現在無効な構文を無視しています)。

(.forPattern DateTimeFormat ("yyyy-M-dd HH:mm:ss"))

前後の括弧は省略して"yyyy-M-dd HH:mm:ss"ください。

したがって、あなたが望むことを行う有効な方法は次のとおりです。

(def fmt (DateTimeFormat/forPattern "yyyy-M-dd HH:mm:ss"))
于 2013-01-01T10:50:24.480 に答える
4

または、 clj-timeを使用することもできます

于 2013-01-01T11:49:45.287 に答える
1

すでに Joda-Time に精通しているため、Clojure.Joda-Timeを使用できます。

于 2014-01-07T09:36:22.937 に答える