Mi piacerebbe andare con clj-time, la libreria Clojure standard per la gestione di orari e date (avvolgimento Joda-Time). Sì, è una dipendenza extra per un semplice bisogno e potrebbe essere eccessivo se si desidera solo il timestamp corrente; anche allora è solo una bella comodità praticamente senza alcun costo. E se alla fine avremo bisogno di ulteriori funzionalità relative al tempo, allora sarà lì con una grande implementazione di tutte le basi.
Per quanto riguarda il codice, ecco la dipendenza specificatore Leiningen per la release corrente:
[clj-time "0.5.1"]
Ed ecco un frammento per ottenere il timestamp corrente:
(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.))
fonte
2013-07-03 18:19:49
Non usare ' int': '(int (/ (.getTimeInMillis (java.util.GregorianCalendar. 2038 1 20)) 1000)); => IllegalArgumentException Valore fuori intervallo per int: 2150258400'. Prova "quot" invece, ad es. '(-> (java.util.Date.) .getTime (quot 1000))'. –