2013-06-11 14 views
9

Ich möchte einige grundlegende, aber nicht sehr grundlegende datumsbezogene Operationen auf ClojureScript durchführen, wie zum Beispiel die Tage zwischen zwei Daten. Es gibt clj-time das ist ein Wrapper um Joda time, also ist es nur Clojure. Ich bin mir auch der date classes in Google Closure Library bewusst. Es gibt viele Möglichkeiten für JavaScript, siehe https://stackoverflow.com/questions/802861/javascript-date-manipulation-library oder https://stackoverflow.com/questions/996995/javascript-date-time-library-recommendations. Ich frage mich, ob es einen idiomatischen ClojureScript-Weg dafür gibt. Wenn es kein solches Biest gibt, frage ich mich, welche JavaScript-Bibliothek der beste Kandidat für das Wrapping wäre.ClojureScript Datum-Zeit-Bibliothek

Antwort

11

http://momentjs.com ist einfach für die Datumsarithmetik zu verwenden.

Zum Beispiel ist die Differenz zwischen zwei Daten, in Anzahl der Tage:

(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

Das Projekt, an dem ich momentan arbeite, verwendet moment.js. Es funktioniert ziemlich gut mit Clojurescript. Ich empfehle das zu überprüfen.

12

zu spät, aber für diejenigen, die durch Suche kommen, gibt es cljs-time Bibliothek.

+1

Nie zu spät :) –