Necesito registrar algunos eventos en un escenario Clojure Cliente-Servidor, pero me parece que Clojure no proporciona una función de fecha/hora. ¿Alguien puede confirmar esto o me falta algo aquí? Si estoy en lo correcto, entonces necesito usar la interoperabilidad java, ¿verdad?¿Cuál es la mejor manera de obtener la fecha y la hora en Clojure?
Respuesta
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 .
Hay un Clojure-wrapper library for Joda-Time. O tendrá que usar la interoperabilidad java con la API estándar de Java.
Gracias, pero prefiero mantener mis dependencias lo más bajo posible. – Ali
@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. –
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.
Si no necesita nada más avanzado, solo use las clases de Java.
(.format (java.text.SimpleDateFormat. "MM/dd/yyyy") (new java.util.Date))
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)
- 1. ¿Cuál es la mejor manera de hacer GUI en Clojure?
- 2. La mejor manera de almacenar fecha/hora en datos básicos
- 3. ¿Cuál es la manera más elegante de obtener el final del día (fecha y hora)?
- 4. Python: obtener la fecha y hora de la última hora
- 5. ¿Cuál es la mejor manera de inicializar una fecha de JavaScript a la medianoche?
- 6. ¿Cuál es el mejor enfoque para obtener la entrada de fecha/hora del usuario?
- 7. ¿Cómo obtener la fecha y hora actual?
- 8. Combina la fecha y la hora cuando la fecha es un DateTime y la hora es una cadena
- 9. Cómo obtener la fecha y la hora actual de la columna Fecha/Hora en la lista personalizada de SharePoint
- 10. ¿Cuál es la mejor manera de estructurar y crear aplicaciones Clojure con complementos?
- 11. cómo obtener la fecha y hora actual en SQL?
- 12. ¿Cuál es la mejor manera de obtener Epoch milisegundos en Perl?
- 13. Cómo obtener la fecha y la hora del servidor
- 14. Cuál es la mejor manera de calcular la diferencia de fecha en Javascript
- 15. ¿Cuál es la mejor manera de dibujar en la consola?
- 16. Obtener la fecha/hora actual en segundos
- 17. ¿Cuál es la mejor manera de truncar una fecha en SQL Server?
- 18. fecha y la fecha y hora en Django
- 19. Cómo obtener la fecha y hora del sello de fecha y hora
- 20. Cuál es la mejor manera de almacenar la duración en MySQL
- 21. ¿Cuál es la mejor manera de configurar los campos de última modificación y registro de fecha?
- 22. Cambiar la fecha y hora en MusicSequence
- 23. ¿Cómo obtener la fecha y hora del cliente en ASP.NET?
- 24. ¿Cuál es la mejor manera de ampliar la funcionalidad?
- 25. ¿Cuál es la mejor manera de determinar si una fecha es hoy en JavaScript?
- 26. Cuál es la mejor manera de paginar resultados en php
- 27. Rieles: obtener la fecha de la marca de fecha y hora
- 28. ¿Cuál es la mejor manera de afirmar la igualdad numpy.array?
- 29. ¿Cuál es la mejor manera de usar decimales y fechas con búferes de protocolo?
- 30. ¿Cuál es la mejor manera de procesar una imagen en clojure?
Genial, creo que iría con (imprimir (.getTime (now))) para conservar una precisión razonable en mis archivos de registro. Gracias. – Ali
'(defn ahora [] (java.util.Date.))' Es la versión canónica. – Rayne
¡Yay! 42 upvotes: D –