У меня возникли проблемы с переходом между java.util.Date и clj-time.Clojure clj-time: parse local string
У меня есть первые необработанные данные, который является экземпляром java.util.Date, давайте день:
(def date (new java.util.util.Date))
Я хочу, чтобы включить в в CLJ время объекта, так что я делаю:
(def st-date (.toString date))
Выход:
"Mon Mar 21 16:39:23 CET 2016"
Я определяю форматчик
(def date-formatter (tif/formatter "EEE MMM dd HH:mm:ss zzz yyyy"))
Все здесь, я думаю.
Я так стараюсь
(tif/parse order-date-formatter st-date)
У меня есть исключение, которое мне сказать формат не подходит.
Я попытался
(tif/unparse order-date-formatter (tic/now))
И я
"lun. mars 21 15:50:29 UTC 2016"
который так же даты и времени, как Java String, но на французском языке (мой язык) с UTC
оборачивать код для проверки
(defn today-date-to-clj []
(let [st-date (.toString (new java.util.util.Date))
date-formatter (tif/formatter "EEE MMM dd HH:mm:ss zzz yyyy")]
(tif/parse date-formatter st-date)))
Кажется, что форматирование не работает на строку, потому что это не та же локализация, правильно? Как его изменить?
Спасибо за помощь!
EDIT
Кто-то дал мне гораздо лучше ответить, но это почти работал для любопытных людей (проблема в «СЕТ-2016», но работает для unparse)
(def uni-formatter (tif/with-locale (tif/with-zone order-date-formatter (DateTimeZone/forID "Europe/Paris")) java.util.Locale/US))
ахи спасибо Я искал сложный ответ, не видел его! –