我需要将两个unix时间戳传递给一个查询,以便在两个日期之间撤回数据。
如果脚本今天运行,9月17日需要获取前一天的数据,则unix时间戳将需要是17日16:00到00:00:00的00:00:00。
这些时间戳需要自动存储在变量dateFrom和dateTo中,以便将它们传递给查询。
提前感谢您的帮助。
答案 0 :(得分:2)
您可以使用clj-time:
(require '(clj-time [core :as time] [coerce :as tc]))
;; not timezone-aware
(time/today)
;= #<LocalDate 2013-09-17>
;; UTC
(time/today-at-midnight)
;= #<DateMidnight 2013-09-17T00:00:00.000Z>
;; timestamp at midnight
(tc/to-long (time/today))
;= 1379376000000
(tc/minus (time/today-at-midnight) (time/days 1))
;= #<DateMidnight 2013-09-16T00:00:00.000Z>
等等。
如果您需要转换为java.sql.Timestamp
而不是long
,那么clj-time.coerce/to-sql-time
会java.sql.Timestamp
使用#inst
文字进行打印在Clojure 1.5.1):
(tc/to-sql-time (time/today))
;= #inst "2013-09-17T00:00:00.000000000-00:00"