如何在Clojure中使用java.time
库?我什至无法将其导入到我的代表中。
user=> *clojure-version*
{:major 1, :minor 10, :incremental 0, :qualifier nil}
user=> (java.util.Date.)
#object[java.util.Date 0x5c22a205 "Tue Oct 08 22:10:21 PDT 2019"]
user=> (java.time.Instant.)
Syntax error (IllegalArgumentException) compiling new at (REPL:1:1).
No matching ctor found for class java.time.Instant
它在java docs中,并且我安装了Java 13https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/time/Instant.html
https://github.com/dm3/clojure.java-time声称要使用它,如果我尝试在项目中使用它,那很酷。但是我只想导入它,并在REPL中播放一个日期。怎么做?
在Clojure中,语法(some.class.Name.)
带有“。”。类名后面的意思是调用该类的构造函数。如果查看类java.time.Instant的Java文档页面,您会注意到它没有构造函数:https://docs.oracle.com/javase/8/docs/api/java/time/Instant.html
有一种称为now
的方法,该方法返回一个Instant类型的对象,您可以在Clojure中使用此语法进行调用:
user=> (java.time.Instant/now)
#object[java.time.Instant 0x599f571f "2019-10-09T05:18:06.192393Z"]