Преобразование времени эпохи в удобочитаемую дату в Clojure

У меня время эпохи Unix. Как я могу преобразовать его в удобочитаемую строку даты? Я изучил clj-time (https://github.com/clj-time/clj-time), но, похоже, он переходит только от читаемой к эпохе. Спасибо.


person Zuriar    schedule 29.02.2016    source источник


Ответы (2)


Вы также можете использовать нативные вызовы:

(str (java.util.Date. (System/currentTimeMillis)))
;; => "Mon Feb 29 21:59:51 MSK 2016"
person trancaruas    schedule 29.02.2016
comment
Или, возможно, предпочтительнее в наши дни, (java.time.Instant/ofEpochMilli (Long/parseLong "1456774240403")). - person glts; 29.02.2016

Вы можете принудить его к дате и времени, а затем использовать средства форматирования (встроенные или создать свои собственные).

(require '[clj-time.format :as f])
(require '[clj-time.coerce :as c])

(f/unparse  (f/formatters :date-time) (c/from-long 1000000000000))

Обратите внимание, что c/from-long занимает миллисекунды.

person z7sg Ѫ    schedule 29.02.2016