Ali*_*Ali 35 java datetime clojure
我需要在Clojure Client-Server方案中记录一些事件,但在我看来,Clojure不提供日期/时间功能.任何人都可以证实这一点,或者我在这里遗漏了什么?!如果我是正确的那么我需要使用java互操作,对吧?
Gor*_*vic 48
如果只需要获取记录器的当前时间和日期,那么此功能就可以了:
(defn now [] (new java.util.Date))
Run Code Online (Sandbox Code Playgroud)
既然你提到了这一点,那么支持不可变的Date对象会很有用.
Bra*_*och 24
Java 1.8将java.time包添加到核心JDK中,以清除Java中日期和时间状态的许多挫折.由于java.time现在是核心Java的一个广泛可用的部分,具有大大改进的API,我建议您在编写新的日期和时间代码时首先考虑它.
以下是检索当前日期和时间的方法:
(java.time.LocalDateTime/now)
Run Code Online (Sandbox Code Playgroud)
rob*_*x44 16
Joda-Time有一个Clojure包装库.或者您必须使用Java interop与标准Java API.
使用clj-time,包装Java Joda Time库的Clojure库,您可以使用如下代码:
(require '[clj-time.core :as time])
(require '[clj-time.format :as time-format])
(time/now) => #<DateTime 2013-03-31T03:23:47.328Z>
(def time-formatter (time-format/formatters :basic-date-time)) ;; ISO 8601 UTC format
(time-format/unparse custom-formatter (date-time 2010 10 3)) => "20101003T000000.000Z"
Run Code Online (Sandbox Code Playgroud)
Joda Time(以及clj-time)的一个好处是新版本支持对时区的新更改.
如果你不需要更高级的东西,只需使用Java类.
(.format (java.text.SimpleDateFormat. "MM/dd/yyyy") (new java.util.Date))
| 归档时间: |
|
| 查看次数: |
28030 次 |
| 最近记录: |