获取昨天在Clojure的约会

fey*_*chu 4 date clojure

我需要以格式获取昨天的日期(不是基于用户,而是相对于服务器)YYYY-MM-DD.

在Clojure中实现这一目标的最佳方法是什么?

Pio*_*dyl 5

使用Java 8 Time API:

(import (java.time LocalDate)
        (java.time.format DateTimeFormatter))

(def formatter (DateTimeFormatter/ofPattern "yyyy-MM-dd"))

(def yesterday (.minusDays (LocalDate/now) 1))

(.format formatter yesterday)
;; => "2017-04-05"
Run Code Online (Sandbox Code Playgroud)

或者使用Java 8 Time API Clojure包装器:clojure.java-time

(require '[java-time :as t])

(def yesterday (t/minus (t/local-date)
                        (t/days 1)))

(t/format "yyyy-MM-dd" yesterday)
;; => "2017-04-05"
Run Code Online (Sandbox Code Playgroud)