(defn todaydate [& props]
(let [
tester(str "")
tester (let [today (Date.)]
(.getTime today))
上面的代码片段返回当天的unix时间戳。我希望能够使用tester
获取前一天的unix时间戳。
我无法使用clj-time
库来解决此问题
答案 0 :(得分:2)
您需要使用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))
注意:请注意您使用的时区。
另外,如果你只是需要快速的东西,你可以从你的价值中减去一天中的秒数。