如何在 sequelize 中去掉 +00:00 的时间戳

how to strip timestamp of +00:00 in sequelize

我正在使用 Sequelize 将对象映射到我现有的数据库,在这个数据库中他们没有使用自动生成的时间戳,他们做了自己的日期时间工作,数据库存储日期的当前方式是 YYYY-MM-DD HH:MM:SS.MS 但是使用 sequelize,我返回一个看起来像 YYYY-MM-DD HH:MM:SS.MS +00:00 的日期,我相信这是让我失望的原因。当我收到错误 Conversion failed when converting date and/or time from character string. 时,我什至尝试访问 Date() 对象并构建我自己的日期字符串,但我遇到了同样的错误。即使它遵循正确的格式。

对于我的模型,我在 CreateDateTime 处有这个(这是数据库中字段的名称。

CreateDateTime: {
  type: DataTypes.DATE,
  defaultValue: `${date.getFullYear()}-${date.getMonth()}-${date.getDay()} ${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}.${date.getMilliseconds()}`,
    },
UpdateDateTime: {
  type: DataTypes.DATE,
},

我也将 sequelize 提供的时间戳重命名为上面的适当名称。除了可能使用 sequelize 提供的时间戳并将现有时间戳中的时间戳删除之外,我不太确定如何解决这个问题。尽管 id 而不是这样做。即使最终病态将此数据库移动到自动生成时间戳的更好模式。

是否有解决此错误的其他方法?无论我做什么,sql 插入查询似乎总是在 +00:00 上结束,这是使用 DataType DATE 的某种默认值吗?我应该使用其他数据类型吗?

所以我发现之前的团队可能没有存储实际的 datetime 时间戳,因为一旦我将 DataTypeDATE 更改为 STRING 它工作得很好,我不再收到这个错误,但它仍然让我感到奇怪,因为当我对我有 table described 时使用我的 DB exporer(我使用 Razor),很明显声明这些字段属于 datetime 而不是 varchar,所以我不确定为什么会这样,只是它遵循适当的模式并且确实有效。