什么是Clojure时间和date库?

我无法在http://clojure.org/libraries中find处理时间和date的图书馆。 有没有,或者这是我必须弄清楚如何直接使用Java呢?

clj-time是Java Joda-Time的封装。

如果你使用Leiningen或者Maven,你可以通过Clojars将它添加到你的项目中。

GitHub页面上有很多示例显示如何进行date算术和parsing/格式化。 例如:

(in-minutes (duration (date-time 1986 10 2) (date-time 1986 10 14))) ;; gives 17280 (def custom-formatter (formatter \"yyyyMMdd\")) (parse custom-formatter "20100311") ;; gives #<DateTime 2010-03-11T00:00:00.000Z> (unparse custom-formatter (date-time 2010 10 3)) ;; gives "20101003" 

这是一个古老的问题,但Java 8中新的LocalDate类是完成这个任务所不需要的库。

 (ns example (:import (java.time LocalDate format.DateTimeFormatter))) (def formatting (DateTimeFormatter/ofPattern "MM/dd/yyyy")) (LocalDate/parse "08/06/2015" formatting) 

我曾经用过clj-time ,这个包裹了Joda Time的过去没有任何问题。

还有dm3/clojure.java-time ,它包装了Java 8 Date-Time API。

自Clojure 1.8以来还有一个相关的命名空间: clojure.instant 。