1

clojure 服务器从 mysql 数据库中读取日期时间列。通过使用 jdbc,此操作通常返回一个实例java.sql.Timestamp

我通过transit格式将这些数据带到前端。可以将日期强制转换为时间戳,并在前端对其进行解析,以供进一步处理,例如库 cljs-time。这是要走的路还是有另一种更方便的方法?

4

1 回答 1

1

您可以在此处查看transit-cljs 中的默认类型映射。默认情况下,Transittime值映射到 JavaScript Date。我更喜欢将日期映射到goog.Date.UtcDateTime. 有关于扩展 Transit Read 和 Write 处理程序的文档,但这是我们使用的:

(def transit-readers
  {:handlers
   {"m" (transit/read-handler (fn [s] (UtcDateTime.fromTimestamp s)))
    "u" uuid}})

(def transit-writers
  {:handlers
   {UtcDateTime (transit/write-handler
                  (constantly "m")
                  (fn [v] (.getTime v))
                  (fn [v] (str (.getTime v))))}})
于 2016-09-30T03:17:38.280 回答