如何覆盖日期的转义方式?

How to override how Dates are escaped?

我正在使用 node-mysql2。我想覆盖 JavaScript Date 对象的转义方式。

By default,它们被转换为 'YYYY-mm-dd HH:ii:ss' 字符串,但我想将它们存储为整数。

如何在不重新实现整个 queryFormat 函数(解析 ?:namedPlaceholders)的情况下执行此操作?

使用 js Date 对象,您可以 (+yourDate) 获得相应的数字(以毫秒为单位)和 (yourDate/1000) 获得类似数字的 unix 时间。

例如

> var a = new Date()
< Mon May 15 2017 22:25:08 GMT+0200 (CEST)

> +a
< 1494879908154

> (a/1000)
< 1494879908.154

目前不可能,在将数据作为参数传递给查询或准备语句之前,您必须明确转换数据。可能是一个很好的功能 - 如果你自己实现它,请随时发送 pr(已经有一种方法可以通过自定义 typeCast 函数 - https://github.com/mysqljs/mysql#type-casting