怎么将 NodeJS Sequelize 中的 DateTime 传递给 MSSQL

本教程将介绍如何将 NodeJS Sequelize 中的 DateTime 传递给 MSSQL的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

怎么将 NodeJS Sequelize 中的 DateTime 传递给 MSSQL 教程 第1张

问题描述

我有一个 NodeJS 项目,我正在尝试使用 Sequelize 传递一个UpdateDate"字段.我收到错误从字符串转换日期和/或时间时转换失败".我尝试过传递一些不同的东西:

Date.now()
new Date().toISOString()

都不行.我错过了一些简单的东西吗?我无法更改表上的列定义.据我所知,将诸如 '2016-05-23 10:39:21.000' 之类的字符串传递给 SQL DateTime 字段在 SSMS 中有效,但在使用 Sequelize 和 Node.js 时似乎是一个问题.

谢谢

扎克

推荐答案

这是由 已知的Sequelize 中的问题.解决方案是将 Sequelize 的日期修补为字符串格式实现,如 在此处解释,以便正确处理所有日期.下面是修复错误的代码.

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');
};

好了关于怎么将 NodeJS Sequelize 中的 DateTime 传递给 MSSQL的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。