ClojureScript日期时间库

时间:2013-06-11 09:45:28

标签: date datetime clojurescript

我想在ClojureScript上做一些基本但不是非常基本的与日期相关的操作,比如在两个日期之间获取日期。有clj-timeJoda time的包装,所以它只是Clojure。我也知道date classes in Google Closure Library。 JavaScript有许多可能性,请参阅https://stackoverflow.com/questions/802861/javascript-date-manipulation-libraryhttps://stackoverflow.com/questions/996995/javascript-date-time-library-recommendations。我想知道是否有一种惯用的ClojureScript方法。如果没有这样的野兽,我想知道哪个JavaScript库最适合包装。

5 个答案:

答案 0 :(得分:16)

太迟了,但对于那些通过搜索来的人来说,有cljs-time库。

答案 1 :(得分:11)

http://momentjs.com易于用于日期算术。

例如,两个日期之间的差异,以天数为单位:

(defn mom []
  (let [log (fn [& args] (.log js/console (apply str args)))
        days-ago (fn [n] (.subtract (js/moment) "days" n))]
    (log {:difference (.diff (days-ago 7) (days-ago 28) "days")})))

(mom) ==> {:difference 21}

答案 2 :(得分:1)

我现在正在工作的项目使用moment.js。它与clojurescript相当好用。我建议检查一下。

答案 3 :(得分:0)

如果您想要跨平台的内容,请尝试juxt/tick

关于两个日期之间的日期,这似乎在两个平台上都有效(调用.until的{​​{3}} underlying):

(require '[tick.alpha.api :as t])
(require '[tick.core])
(.until (t/new-date 2019 1 1) (t/new-date 2019 3 5) (tick.core/unit-map :days))
;=> 63

答案 4 :(得分:0)

对于日期选择,react-select 项目有一个带有模糊日期支持的实验性 date picker。我们正在使用包裹在 cljs 中的常规 react-select 组件,似乎工作得很好。