我正在使用Electron(尝试2.x和5.0.x)以及Sequelize / Tedious开发桌面应用程序,从mssql检索数据时,它总是通过添加本地时区偏移量(例如ex。)转换DATETIME字段。 +04:00)。
mssql的DATETIME字段不包含时区信息,看来Electron将其视为UTC时间,如何防止?奇怪的是,当我在不使用Electron的情况下使用Sequelize / Tedious时,一切都很好,但是在Electron中,无论方言选项中放入了什么选项,都无法使用,包括useUTC / timezone / typeCast / process.env.TZ唯一可行的解决方案是将计算机的时区切换为UTC。
var conn = new Sequelize('xxx', 'xxx', 'xxx', {
host: '127.0.0.1',
port: 1433,
dialect: 'mssql',
dialectOptions: {
encrypt: false,
timezone: '+04:00'
},
timezone: '+04:00',
logging: false,
define: {
freezeTableName: true,
charset: 'utf8',
timestamps: false
}
});