1
(defn todaydate [& props]
(let [
tester(str "")
tester (let [today (Date.)]
   (.getTime today))

上面的代码返回当天的 unix 时间戳。我希望能够使用tester获取前一天的 unix 时间戳。

我无法使用该clj-time库来解决此问题

4

1 回答 1

2

您将要使用 a java.util.Calendar,加上负的一天,然后使用getTimeInMillis除以 1000 来获取时间戳。

以下将为您提供昨天午夜的 unix 时间戳。

(let [yesterday (doto (GregorianCalendar. (TimeZone/getTimeZone "UTC"))
                  (.set Calendar/HOUR_OF_DAY, 0)
                  (.set Calendar/MINUTE 0)
                  (.set Calendar/SECOND 0)
                  (.set Calendar/MILLISECOND 0)
                  (.add Calendar/DAY_OF_YEAR -1))]
  (/ (.getTimeInMillis yesterday) 1000))

注意:请注意您使用的时区。

此外,如果您只是需要一些快速的东西,您可以从您拥有的值中减去一天中的秒数。

于 2013-10-01T13:03:33.737 回答