mysql - MySQL - 获取没有时区偏移的日期
问题描述
我将日期 (DOB) 存储为 mySQL 表中的日期列。
现在的问题是:当我插入二进制日期时,例如:2001/02/02,我可以毫无问题地存储它。但是当我选择它 ( SELECT dob FROM table1
) 时,我会得到 UTC 格式的结果,例如:2001-02-01T18:30:00.000Z
我继续深入挖掘,发现这是因为 UTC 偏移。
有没有办法返回存储在没有UTC偏移的表中的日期?无论UTC如何,所有时区的出生日期都需要保持不变。
注意:我不想更改服务器时区,因为我确实有某些使用时差的列。
编辑:当我使用 MySQL 工作台执行查询时,我得到了预期的结果,但是当我使用节点(mysqljs)时,我得到了时区格式的结果。
编辑:刚刚发现mysqljs有问题,因为它使用时区属性连接到mysql服务器。(https://github.com/mysqljs/mysql#connection-options)
先感谢您。
解决方案
所以,这是 mysqljs 的一个问题,我timezone
在创建连接时使用了选项。mysqljslocal
用作timezone
选项的默认值并将其设置为Z
似乎可以解决我的问题。
这是一个示例:
`mysql.createPool({
connectionLimit: mySQLConfig.connectionLimit,
host: mySQLConfig.host,
user: mySQLConfig.username,
password: mySQLConfig.password,
database: mySQLConfig.database,
timezone: 'Z'
});`
推荐阅读
- google-api - 如何在 Ruby 中使用 Gmail API 回复邮件?
- haskell - 使用 seq 实现无限列表以提高 Haskell 中的时间复杂度
- lua - Vim 全局变量检查在 lua 中抛出错误(neovim 插件开发)
- python - Python中的并行差分进化
- php - 使用 laravel 将我的 Firebase 实时数据库连接到 MYSQL 数据库表
- c# - C#遍历调用相同函数的类
- java - 如何在 SQliteopenhelper 中更新项目位置
- apache-flink - 表选项不包含选项键“连接器”
- javascript - 如何在不重新渲染 react.js 中的先前消息的情况下渲染新消息?
- html - 我需要使用 CSS 合并垂直和水平文本,如附加的图像