ちょうどwit/ducklingで遊んでいます。それはClojureで書かれており、私はClojureで以前の経験はありません。 2016-08-14T19:45:48.000 + 05:30のような文字列を1945hrs、日曜日、8月14日、2016のような形式に解析する必要があります。私はインターネットで検索し、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
OK、素晴らしい;その場合、私は自分の答えがあなたの問題に対する最良の解決策であると信じています。 –