php、mysql时区问题

场景:

  1. 数据库表A中有一个time字段保存的是php time()生成的时间戳

  2. mysql使用的时区 未知

  3. php sql语句用到了 FROM_UNIXTIME(time,'%w')

问题:

  1. 业务程序中需要切换很多时区处理数据,虽然php可以动态设置时区,但是Mysql的FROM_UNIXTIME(time,'%w')执行时区不会被动态设置。

  2. 问题是这种情况怎么解决,百度了一圈,发现几个解决办法,但是有几个瓶颈导致百度到的发方法不可用:(1) 业务代码中不可新建连接数据库,根据时区差 通过mysql_query(set xxx) 设置加减几个小时;(2)有人可能提出先查询数据再处理,这是最坏的打算。

查看回复