2013-03-20 24 views
1

,我有以下midje代码 -测试DateTime对象或如何使用阅读器的形式在代码

(fact "Parsing the date received from github" (parse-date "2013-02-20T17:24:33Z") => #<DateTime 2013-02-20T17:24:33.000Z>)

我试图测试其给出的字符串时,函数返回一个日期时间对象(乔达时间使用clj-time lib)。

如何表示日期时间对象#<DateTime 2013-02-20T17:24:33.000Z>代码,以便它不抛出错误 java.lang.RuntimeException: Unreadable form, compiling:(mashup/github.clj:11)

+0

无法理解您的问题,请详细说明一下! – 2013-03-20 07:31:09

回答

2

CLJ-时间具有构造函数此:

user> (use 'clj-time.core) 
nil 
user> (date-time 2013 02 20 17 24 33) 
#<DateTime 2013-02-20T17:24:33.000Z> 

所以你midje事实会如:

(fact "Parsing the date received from github" (parse-date "2013-02-20T17:24:33Z") 
    => (date-time 2013 02 20 17 24 33)) 
2

您可以使用#inst读取器宏:

user=> #inst "2013-02-20T17:24:33.000Z" 
#inst "2013-02-20T17:24:33.000-00:00" 
+0

+1。我无法在#inst上找到任何文档,它有什么作用? – murtaza52 2013-03-20 10:36:41

+0

根据我的回答,我更喜欢显式调用“date-time”,但这当然是一种有效的方法。有关标签文字的更多信息:http://clojure.org/reader#The%20Reader--Tagged%20Literals – sw1nn 2013-03-20 11:14:10