2011-01-08 13 views

Respuesta

43

Si todo lo que necesita es conseguir la hora y la fecha actual para su registrador, entonces esta función está bien:

(defn now [] (new java.util.Date)) 

Ahora que usted ha mencionado esto, sería útil contar con el apoyo de objetos Date inmutables .

+0

Genial, creo que iría con (imprimir (.getTime (now))) para conservar una precisión razonable en mis archivos de registro. Gracias. – Ali

+30

'(defn ahora [] (java.util.Date.))' Es la versión canónica. – Rayne

+0

¡Yay! 42 upvotes: D –

16

Hay un Clojure-wrapper library for Joda-Time. O tendrá que usar la interoperabilidad java con la API estándar de Java.

+1

Gracias, pero prefiero mantener mis dependencias lo más bajo posible. – Ali

+7

@Ali - una biblioteca de fecha y hora sana es una dependencia que debes considerar seriamente; desafortunadamente, las bibliotecas estándar (para muchos idiomas) no siempre son lo suficientemente precisas. –

9

Con clj-time, la biblioteca Clojure que envuelve a la biblioteca de Java Joda tiempo, usted podría usar un código como el siguiente:

(require '[clj-time.core :as time]) 
(require '[clj-time.format :as time-format]) 

(time/now) => #<DateTime 2013-03-31T03:23:47.328Z> 

(def time-formatter (time-format/formatters :basic-date-time)) ;; ISO 8601 UTC format 
(time-format/unparse custom-formatter (date-time 2010 10 3)) => "20101003T000000.000Z" 

Uno de los beneficios de la Joda Time (y por lo tanto en tiempo CLJ) es que el nuevo soporte comunicados nuevos cambios a las zonas horarias.

4

Si no necesita nada más avanzado, solo use las clases de Java.

(.format (java.text.SimpleDateFormat. "MM/dd/yyyy") (new java.util.Date))

12

Java 1.8 añade el paquete java.time al núcleo JDK para limpiar muchos de los frustrations con el estado de la fecha & tiempo en Java. Como java.time ahora es una parte ampliamente disponible de Java central con una API mucho mejor, le animo a darle la primera mirada cuando escriba la nueva fecha & código de tiempo.

Ejemplo:

(java.time.LocalDateTime/now) 
Cuestiones relacionadas