如何在 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
时间戳,因为一旦我将 DataType
从 DATE
更改为 STRING
它工作得很好,我不再收到这个错误,但它仍然让我感到奇怪,因为当我对我有 table described
时使用我的 DB exporer(我使用 Razor),很明显声明这些字段属于 datetime
而不是 varchar
,所以我不确定为什么会这样,只是它遵循适当的模式并且确实有效。
我正在使用 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
时间戳,因为一旦我将 DataType
从 DATE
更改为 STRING
它工作得很好,我不再收到这个错误,但它仍然让我感到奇怪,因为当我对我有 table described
时使用我的 DB exporer(我使用 Razor),很明显声明这些字段属于 datetime
而不是 varchar
,所以我不确定为什么会这样,只是它遵循适当的模式并且确实有效。