我将bith的date(dob)存储为mysql表中的date列。
现在的问题是:当我插入bith的日期时,例如:2001/02/02,我可以毫无问题地存储它。但当我选择它的时候( SELECT dob FROM table1
),我得到utc格式的结果,如: 2001-02-01T18:30:00.000Z
我继续深入挖掘,发现这是因为utc偏移。
有没有办法返回表中存储的日期而不使用utc偏移量?出生日期必须在所有时区保持不变,无论utc是什么。
注意:我不想更改服务器时区,因为我确实有某些列使用时差。
编辑:当我使用mysql工作台执行查询时,得到的是预期的结果,但是当我使用node(mysqljs)时,得到的是时区格式的结果。
编辑:刚刚发现mysqljs有问题,因为它使用时区属性连接到mysql服务器(https://github.com/mysqljs/mysql#connection-(可选)
先谢谢你。
3条答案
按热度按时间qqrboqgw1#
如果您只想忽略时区,请使用mysql
date
:但结果将是
'yyyy-mm-dd'
如果你想把它格式化成2001/02/02
:nr7wwzry2#
你可以试着设置
dateStrings
至true
在mysqljs连接参数中。这里的问题是mysqljs正在将其转换为javascript日期对象。这将使它以字符串的形式返回预期的数据。cidc1ykv3#
所以,mysqljs和我使用的
timezone
选项创建连接时。mysqljs使用local
默认为timezone
选项并将其设置为Z
似乎为我解决了这个问题。下面是一个示例: