mysql - 通过传输格式将日期从 clojure 服务器传递到 cljs 前端

标签 mysql jdbc clojure clojurescript transit

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

的实例

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

最佳答案

您可以在 transit-cljs 中查看默认类型映射 here .默认情况下,Transit time 值映射到 JavaScript Date。我更喜欢将日期映射到 goog.Date.UtcDateTime。有 docs关于扩展 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))))}})

关于mysql - 通过传输格式将日期从 clojure 服务器传递到 cljs 前端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39741638/

相关文章:

clojure - 以编程方式评估 Clojure 中的函数列表

clojure - clojure 中是否有类似 ML 的数据类型声明和模式匹配的内容?

php - 无法保存 MySQL 查询

mysql - 重新映射 MYSQL 中的行

java - 如何从结果集中获得双倍而不是双倍?

java - 错误 : Client does not support authentication protocol requested by server; consider upgrading MySQL client

regex - 在clojure中读取制表符分隔的文件

mysql - SQL - 显示表中的结果,而不显示另一个表中的值

mysql - 如何在xampp中为varchar值添加默认值

postgresql - 无法加载 jdbc 驱动程序类 PostgreSQL + NIFI