Clojureクライアント/サーバーシナリオでいくつかのイベントをログに記録する必要がありますが、Clojureは日付/時刻関数を提供していないようです。誰かがこれを確認できますか、ここで何か不足していますか?!私が正しい場合は、Java interopを使用する必要がありますよね?
ロガーの現在の日時を取得することだけが必要な場合、この関数は問題ありません。
(defn now [] (new Java.util.Date))
これについて説明したので、不変のDateオブジェクトをサポートすると便利です。
Joda-TimeのClojure-wrapperライブラリ があります。または、Java相互運用を標準のJava APIと使用する必要があります。
clj-time 、Java Joda TimeライブラリをラップするClojureライブラリでは、次のようなコードを使用できます。
(require '[clj-time.core :as time])
(require '[clj-time.format :as time-format])
(time/now) => #<DateTime 2013-03-31T03:23:47.328Z>
(def time-formatter (time-format/formatters :basic-date-time)) ;; ISO 8601 UTC format
(time-format/unparse custom-formatter (date-time 2010 10 3)) => "20101003T000000.000Z"
Joda Time(およびclj-time)の利点の1つは、新しいリリースがタイムゾーンの新しい変更をサポートすることです。
より高度なものを必要としない場合は、Javaクラスを使用してください。
(.format (Java.text.SimpleDateFormat. "MM/dd/yyyy") (new Java.util.Date))