【问题标题】:Sequelize Postgres how to set timezone gmt+1Sequelize Postgres如何设置时区gmt+1
【发布时间】:2020-02-24 13:05:17
【问题描述】:

您好 Stackoverflow 团队,

我想知道,如何为时间戳设置时区 +01:00,我可以使用中性 utc 时区调用所有数据条目...但我想提供默认时区 +01:00 Europe Berlin .

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

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
    }
});

【问题讨论】:

    标签: node.js postgresql sequelize.js


    【解决方案1】:

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

    更改服务器配置文件(postgresql.conf, timezone = '' 可以理解为更改所有客户端连接的默认值。更改服务器配置文件是最可靠的方法,但您可能无权访问它或更改它的权限。

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

    执行 SQL set time zone 会更改会话的时区。所以这可以理解为更改一个客户端会话的默认值。

    对于 Sequelize,我认为您希望使用 options.timezonesearch this page 表示时区),并且您可能希望使用“Europe/Berlin”而不是字面的固定偏移量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2019-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-04
      相关资源
      最近更新 更多