Stop. Java Time!

Generate a java.util.Date.

(import '(java.util Date))
(import '(java.util Calendar))
(import '(java.util GregorianCalendar))
(import '(java.text SimpleDateFormat))

(Date.)
#inst "2019-09-25T14:52:35.281Z"
(= (.getTime (GregorianCalendar.)) (Date.))
true
(.parse (SimpleDateFormat. "yyyy-MM-dd") "2019-04-30")
#inst "2019-04-30T00:00:00.000Z"
(.getWeeksInWeekYear (GregorianCalendar.))
52
(-> (doto (GregorianCalendar/getInstance) (.setTime (Date.)))
		(.get Calendar/WEEK_OF_YEAR))
38
(.format (SimpleDateFormat. "yyyy-MM-dd") (Date.)) ;; returns a string
"2019-09-25"
(doto (new java.util.HashMap) (.put "a" 1) (.put "b" 2))
(.. System (getProperties) (get "os.name"))
"Linux"

Remix this to get started with Clojure and add-lib.

{:deps
 {org.clojure/clojure {:mvn/version "1.10.0"}
  org.clojure/tools.deps.alpha
  {:git/url "https://github.com/clojure/tools.deps.alpha.git"
   :sha "f6c080bd0049211021ea59e516d1785b08302515"}
  compliment {:mvn/version "0.3.9"}}}
deps.edn
Extensible Data Notation

You can add dependencies by modifying the deps.edn above (requires a runtime restart)...

(use 'clojure.tools.deps.alpha.repl)
(clojure-version)
"1.10.0"

...or at runtime using add-lib:

(add-lib 'org.clojure/core.async {:mvn/version "0.4.490"})
true
(require '[clojure.core.async :as async])
(async/timeout 100)
Vector(4) [clojure.core.async.impl.channels.ManyToManyChannel, "0x1e5ef99", "clojure.core.async.impl.channels.ManyToManyChannel@1e5ef99", Map]