请忽略以下内容 - 我直接使用 clojure.instant/read-instant-date
测试了它,看起来这与在普通 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"