请忽略下面的内容 - 我直接使用 clojure.instant/read-instant-date
测试了它,这似乎不是在 plain REPL 中使用 #inst
的方式。
这和 Java 没有关系,因为改变 Clojure 的版本本身并不会改变你使用的 Java 版本。
一个快速实验表明,两个版本以相同的方式解析日期 - (.getTime ...)
调用返回相同的 -12238560000000
。
所以不同的似乎是实例的打印方式。提交 213c50e7
通过切换到不同的打印方法修复了 CLJ-2803
。
通过使用 1.12.0-alpha10
手动使用旧的打印方法,我们可以证实这个猜测。
(let [fmt (java.text.SimpleDateFormat. "yyyy-MM-dd'T'HH:mm:ss.SSS-00:00")]
(.setTimeZone fmt (java.util.TimeZone/getTimeZone "GMT"))
(.format fmt d))
=> "1582-02-24T00:00:00.000-00:00"