我有一个 NodeJS 项目,我正在尝试使用 Sequelize 传递一个“UpdateDate”字段。我收到错误“从字符串转换日期和/或时间时转换失败”。我尝试过传递一些不同的东西:
Date.now()
new Date().toISOString()
都不行。我错过了一些简单的东西吗?我无法更改表上的列定义。据我所知,将诸如“2016-05-23 10:39:21.000”之类的字符串传递给 SQL DateTime 字段在 SSMS 中有效,但在使用 Sequelize 和 Node.js 时似乎是一个问题。
谢谢
扎克
最佳答案
这是由 known issue 引起的在 Sequelize 。解决方案是将 Sequelize 的日期修补为字符串格式实现,如 explained here ,以便正确处理所有日期。下面是修复错误的代码。
const Sequelize = require('sequelize');
// Override timezone formatting for MSSQL
Sequelize.DATE.prototype._stringify = function _stringify(date, options) {
return this._applyTimezone(date, options).format('YYYY-MM-DD HH:mm:ss.SSS');
};
关于javascript - 如何将 NodeJS Sequelize 中的 DateTime 传递给 MSSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47056395/