对clojure来说是新手,任何人都可以帮助我理解如何在clojure中获取当前日期然后再添加几天? 例如在当前日期增加3天?
答案 0 :(得分:7)
习惯性的Clojure方法是使用clj-time(参见Leiningen / Maven安装说明的链接),它包含Joda时间,由overthink的第一个答案引用。
user=> (use '[clj-time.core])
nil
user=> (now)
#<DateTime 2014-11-25T12:03:34.714Z>
user=> (plus (now) (days 3))
#<DateTime 2014-11-28T12:05:40.888Z>
答案 1 :(得分:5)
这不是特定于Clojure的答案,但我会使用Joda time。
(import 'org.joda.time.DateTime)
(let [now (DateTime/now)
later (.plusDays now 3)]
[now later])
;; [#<DateTime 2014-11-24T23:26:05.885-05:00> #<DateTime 2014-11-27T23:26:05.885-05:00>]
答案 2 :(得分:1)
user> (import '[java.util Calendar])
;=> java.util.Calendar
user> (defn days-later [n]
(let [today (Calendar/getInstance)]
(doto today
(.add Calendar/DATE n)
.toString)))
#'user/days-later
user> (println "Tomorrow: " (days-later 1))
;=> Tomorrow: #inst "2014-11-26T15:36:31.901+09:00"
;=> nil
user> (println "7 Days from now: " (days-later 7))
;=> 7 Days from now: #inst "2014-12-02T15:36:44.785+09:00"
;=> nil