Poszedłbym z clj-time, standardową biblioteką Clojure do obsługi czasu i dat (opakowanie Joda-Time). Tak, jest to dodatkowa zależność dla zwykłej potrzeby i może być przesadna, jeśli naprawdę chcesz tylko bieżący znacznik czasu; nawet wtedy jest to po prostu wygoda przy praktycznie zerowym koszcie. A jeśli w końcu będziesz potrzebował dodatkowej funkcjonalności związanej z czasem, to będzie tam z doskonałą implementacją wszystkich podstaw.
Co do kodu, oto zależność specifier Leiningen w bieżącym wydaniu:
[clj-time "0.5.1"]
A oto fragment uzyskania aktualny timestamp:
(require '[clj-time.core :as time]
'[clj-time.coerce :as tc])
;; milliseconds since Unix epoch
(tc/to-long (time/now))
;; also works, as it would with other JVM date and time classes
(tc/to-long (java.util.Date.))
Nie używaj ' int': '(int (/ (. (.getTimeInMillis (java.util.GregorianCalendar, 2038 1 20)) 1000));>> IllegalArgumentException Wartość poza zakresem dla int: 2150258400'. Zamiast tego wypróbuj 'quot', np. '(-> (java.util.Date.) .getTime (quot 1000))'. –