我剛開始玩wit/duckling。它是用Clojure編寫的,我以前沒有使用過Clojure。我需要像2016-08-14T19:45:48.000 + 05:30這樣的字符串解析爲格式,如1945hrs,2016年8月14日星期日。我在互聯網上搜索,並遇到lib clj-time。經過很長一段時間的努力後,我碰到這個thread,並認爲rfc822是我的一杯茶。所以我用RFC822格式,但它給我的例外:解析字符串以獲取Clojure中特定格式的日期和時間
java.lang.IllegalArgumentException: Invalid format: "2016-08-16T00:00:00.000+05:30"
這裏是我的代碼:
(ns firstproj.core
(:gen-class)
(:require [duckling.core :as p])
(:require [clj-time.format :as f]))
(defn -main
"I don't do a whole lot."
[x]
(p/load! { :languages ["en"]})
(def var_ (p/parse :en$core x [:time]))
(def date_string "2016-08-14T19:45:48.000+05:30")
(f/parse (f/formatters :rfc822) date_string))
所以任何人可以告訴我,我在做什麼錯在這裏。或者在Clojure中以其他方式獲取我想要的日期時間格式。由於我在Clojure中完全天真,我請求您詳細回答,這將有助於我更好地理解這一點。謝謝。
您使用的是Java 8嗎? –
@SamEstep是的,我正在使用Java 8. – sdream
好,太棒了;在這種情況下,我相信我的答案是解決您的問題的最佳解決方案。 –