【发布时间】:2016-08-14 15:15:21
【问题描述】:
我刚开始玩wit/duckling。它是用 Clojure 编写的,我以前没有使用 Clojure 的经验。我需要将像 2016-08-14T19:45:48.000+05:30 这样的字符串解析为像 1945hrs, Sunday, August 14th 2016 这样的格式。我在互联网上搜索并遇到了 lib clj-time。经过很长时间的挣扎,我遇到了这个thread,并认为 rfc822 是我的一杯茶。所以我使用了格式化程序 rfc822 但它给了我例外:
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。
-
好的,太好了;在这种情况下,我相信我的回答是解决您问题的最佳方法。