2013-06-11 4 views
9

Mi piacerebbe eseguire alcune operazioni di base su ClojureScript di base, ma non di base, come ottenere i giorni tra due date. C'è clj-time che è un wrapper intorno a Joda time, quindi è solo Clojure. Sono anche a conoscenza dello date classes in Google Closure Library. Esistono molte possibilità per JavaScript, vedere https://stackoverflow.com/questions/802861/javascript-date-manipulation-library o https://stackoverflow.com/questions/996995/javascript-date-time-library-recommendations. Mi chiedo se esiste un modo ClojureScript idiomatico per questo. Se non esiste una tale bestia, mi chiedo quale libreria JavaScript sarebbe il miglior candidato per il wrapping.Libreria data-ora ClojureScript

risposta

11

http://momentjs.com è facile da usare per l'aritmetica della data.

Ad esempio, la differenza tra due date, in numero di giorni:

(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} 
1

Il progetto che sto lavorando al momento utilizza moment.js. Funziona molto bene con il clojurescript. Raccomando di verificarlo.

12

troppo tardi, ma per coloro che vengono dalla ricerca, c'è cljs-time biblioteca.

+1

Non è mai troppo tardi :) –