
sequelize的默认createdat时间与实际时间不符的解决方法
使用 sequelize 创建 mysql 表时,sequelize 会自动创建 createdat 和 updatedat 字段,并提供默认时间值。然而,一些用户发现,sequelize 生成的默认时间值与实际时间相差较大。
要解决这一问题,请在 sequelize 初始化时指定 timezone 和 useutc 选项:
const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'mssql',
timezone: '+8:00',
dialectOptions: {
useUTC: false
}
});- timezone: 指定数据库服务器的时区,在本例中假设为 utc+8。
- useutc: 设置为 false 以禁用 sequelize 使用 utc 时间。
通过设置这些选项,sequelize 将使用数据库服务器的时区生成 createdat 和 updatedat 的值,从而确保这些值与实际时间准确对齐。










