我無法在java.util.Date和clj-time之間進行互操作。Clojure clj-time:解析本地字符串
我第一原始數據是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字符串處理,但在法國(我的語言)與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)))
我似乎格式化程序不能在字符串上工作,因爲它不是相同的本地化,我說得對嗎?如何改變它?
感謝您的幫助!
編輯
有人給了我一個更好的答案,但這個幾乎工作了好奇的人(在「CET 2016」的問題,但工程unparse)相反
(def uni-formatter (tif/with-locale (tif/with-zone order-date-formatter (DateTimeZone/forID "Europe/Paris")) java.util.Locale/US))
AHAH感謝我搜索一個複雜的答案,沒看出來! –