我使用的是knex,我插入的数据格式为YYYY-MM-DD HH:mm:ss
,例如2017-07-14 15:00:00
。保存后,当获取数据时,datetime列值将作为JavaScript Date对象返回。
我想以YYYY-MM-DD HH:mm:ss
的格式返回这些对象,但knex以YYYY-MM-DDTHH:mm:ss.000Z
的格式返回它们,例如2017-06-23T06:44:44.000Z
。
我通过手动迭代和转换它们来返回它们。我想知道是否有另一种方法可以像在mysql驱动程序或knex配置。
这是我的knex配置:
var connection = require('knex')({
client: 'mysql',
connection: {
host: db.host,
user: db.user,
password: db.password,
database: db.database,
timezone: 'UTC'
}
});
3条答案
按热度按时间roejwanj1#
使用以下命令更改连接对象:
ma8fv8wu2#
这是mysql驱动程序如何将从数据库读取的类型转换为JavaScript(https://github.com/mysqljs/mysql#type-casting)
您可以通过添加
typeCast
连接选项来覆盖默认转换:我不确定是否需要为
DATETIME
或TIMESTAMP
类型添加自定义解析。yfwxisqw3#
在我的例子中,连接是一个字符串,所以我必须找到日期OID并使用
pg.types.setTypeParser(DATE_OID, d => moment(d));