Je n'ai pas trouvé de bibliothèques traitant de l'heure et de la date dans http://clojure.org/libraries . Y at-il, ou est-ce quelque chose que je dois comprendre comment faire directement avec Java?
clj-time est un wrapper autour de Java Joda-Time.
Si vous utilisez Leiningen ou Maven, vous pouvez l'ajouter à votre projet via Clojars .
Il y a beaucoup d'exemples sur la page GitHub qui montrent comment faire de l'arithmétique des dates et de l'analyse/du formatage. Par exemple:
(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"
C'est une vieille question, mais la nouvelle classe LocalDate dans Java 8 est un moyen non nécessaire pour y parvenir.
(ns example
(:import (Java.time LocalDate format.DateTimeFormatter)))
(def formatting (DateTimeFormatter/ofPattern
"MM/dd/yyyy"))
(LocalDate/parse "08/06/2015" formatting)
J'ai utilisé clj-time
, qui enveloppe Joda Time sans aucun problème par le passé.
Il existe également dm3/clojure.Java-time
, qui encapsule l'API Java 8 Date-Time.
Il existe également un espace de noms associé depuis Clojure 1.8: clojure.instant .