Для данного custom-formatter
, parse
отказывается от определенных значений месяца.parse не принимает все названия месяцев аббревиатура
(require '[clj-time.core :as t]
'[clj-time.format :as f])
(let [custom-formatter (f/formatter "dd MMM yyyy")]
(f/parse custom-formatter "27 mar 2010")
(f/parse custom-formatter "27 dec 2010"))
Первый parse
возвращает ожидаемый результат, #object[org.joda.time.DateTime 0x62a9d176 "2010-03-27T00:00:00.000Z"]
, в то время как второй возвращается Actual: java.lang.IllegalArgumentException: Invalid format: "27 dec 2010" is malformed at "dec 2010"
.
Я не могу понять это поведение. Что может вызвать эту проблему?
Спасибо за помощь.
обновление
Вот мой project.clj
файл
:dependencies [[org.clojure/clojure "1.7.0"]
[twitter-api "0.7.8"]
[cheshire "5.6.1"]
[clojure-csv/clojure-csv "2.0.1"]
[org.postgresql/postgresql "9.4-1206-jdbc42"]
[com.jolbox/bonecp "0.8.0.RELEASE"]
[org.clojure/java.jdbc "0.6.1"]
[java-jdbc/dsl "0.1.0"]
[org.slf4j/slf4j-nop "1.7.21"]
[clj-time "0.11.0"]
]
Ошибка, которая производится не кажется, что нужно сделать с приведенным вами примером. Похоже, вы пытаетесь разобрать «27 октября 2010», который имеет дополнительное пространство. – kongeor
@ kongeor вы правы. Я испортил свою копию/вставку. Теперь я обновил свой пост. И ошибка, которую я описываю, действительно имеет место при правильном форматировании. – user3639782
Странно. Ваш код работает для меня. Обратите внимание, что у вас есть дополнительная закрывающая скобка. Если вы выбросите этот пример кода в 'REPL', он сломается? Какие версии вы используете? – kongeor