Sequelize Postgres如何设置时区gmt+1



高堆叠溢出团队,

我想知道,我如何设置时区+01:00作为时间戳,我可以用中性utc时区调用所有数据项。。。但我想给一个默认时区+01:00欧洲柏林。

即使在调用数据库表时,我也希望得到正确的响应。非常感谢你的回答。。

const Sequelize = require('sequelize');
//CREATE DATABASE tai;
const sequelize = new Sequelize('tai', 'postgres', '', {
//username: 'root',
//password: 'root',
dialect: 'postgres',
logging: false,
//storage: "./database.sqlite3",
host: 'localhost',
dialectOptions: { useUTC: false },
typeCast: function (field, next) { // for reading from database
if (field.type === 'DATETIME') {
return field.string()
}
return next()
},
timezone: '+01:00',
pool: {
max: 2,
min: 0,
acquire: 10000,
idle: 10000
}
});

在SQL中,您可以更改服务器或客户端会话的时区。如果更改客户端会话的时区,则每次启动新的客户端会话时,都必须为每个客户端会话更改时区。(或多或少。(

对服务器配置文件(postgresql.conf,时区="(的更改可以理解为更改所有客户端连接的默认值。更改服务器配置文件是最稳健的方法,但您可能没有访问权限或更改权限。

通过设置PGTZ环境变量,libpq客户端可以在连接时向服务器发送SET TIME ZONE命令。这可以理解为更改一个客户端的默认值。

执行SQLset time zone会更改会话的时区。因此,这可以理解为更改一个客户端会话的默认值。

对于Sequelize,我认为您希望使用options.timezone(在本页搜索时区(,并且您可能希望使用"欧洲/柏林",而不是文字固定偏移。

最新更新