mysql修改时区如何永久生效
Python连接数据库如何解决时区问题?
Python连接数据库如何解决时区问题?
这个问题得分成几个子问题
1 数据库本身的时区
2 数据库里数据的时区
3 python代码里的时区
首先对1你可以通过命令去设置数据库的时区 像mysql直接用sql语句就能设置
其次对2 在存储时间时尽量用timestamp去存储 这样读出来可以方便的转成所需用的时区的时间
3 python自己的时区 比如你用datetime生成时间时需要每次都记得时区设置 在django和flask里设置好默认时区
做好这三点才能保证程序和数据库和数据的时区保持统一
jdbc为什么要加时区?
假设,mysql的时区和服务器的时区是一样的。一般服务器都是东八区。在使用mysql时,客户端所在的时区一般也是东八区。所以从mysql查询timestamp类型数据时一切正常。因为刚刚好都处于同一时区。
换一种情况:
配置的jdbc url不带时区:jdbc:mysql://localhost:3306/table_name
客户端的时区是零时区
mysql的时区是东八区
这时候你从mysql查找timestamp的数据,拿到的timestamp值和数据库中的值是一样的,没有考虑时区的问题,所以事实上是多了8小时。到底就是为了解决时区一致的问题