MySQL - 获取没有时区偏移的日期

Dev*_*wal 3 mysql database date date-of-birth node.js

我将比斯 (DOB) 的日期存储为 mySQL 表中的日期列。

现在的问题是:当我插入出生日期时,例如:2001/02/02,我可以毫无问题地存储它。但是当我选择它 ( SELECT dob FROM table1) 时,我会得到 UTC 格式的结果,例如:2001-02-01T18:30:00.000Z

我继续深入挖掘,发现这是因为 UTC 偏移。

有没有办法返回没有UTC偏移量的表中存储的日期?无论UTC如何,所有时区的出生日期都需要保持不变。

注意:我不想更改服务器时区,因为我确实有某些使用时差的列。

编辑:当我使用 MySQL 工作台执行查询时,我得到了预期的结果,但是当我使用 node (mysqljs) 时,我得到了时区格式的结果。

编辑:刚刚发现这是 mysqljs 的问题,因为它使用 timezone 属性连接到 mysql 服务器。( https://github.com/mysqljs/mysql#connection-options )

先感谢您。

Dev*_*wal 5

所以,这是 mysqljs 的一个问题,我timezone在创建连接时使用了选项。mysqljs 使用local默认timezone选项并将其设置为Z似乎可以解决我的问题。

这是一个示例:

`mysql.createPool({
  connectionLimit: mySQLConfig.connectionLimit,
  host: mySQLConfig.host,
  user: mySQLConfig.username,
  password: mySQLConfig.password,
  database: mySQLConfig.database,
  timezone: 'Z'
});`
Run Code Online (Sandbox Code Playgroud)