同样一个值在PHP里
echo gmdate('Y/m/d H:i:s',1281095127)
结果等于2010/08/06 11:45:27但在MYSQL里
SELECT FROM_UNIXTIME( 1281095127 )
结果等于2010-08-06 19:45:27怎么差了10多小时呢?什么原因

解决方案 »

  1.   

    时区差别嘛date_default_timezone_set 设置时区date_default_timezone_get 获取时区。
      

  2.   

    楼上说法不准确是时区问题没错,echo gmdate('Y/m/d H:i:s',1281095127)格式化的时间为格林威治时间,和date_default_timezone_set无关的,Mysql里面取到的应该不是格林威治时间吧?检查服务器时区设置请。
      

  3.   

    可以参考下这篇文章 PHP 时区设置
      

  4.   

    不是时差是什么。echo gmdate('Y/m/d H:i:s',1281095127)
    结果等于2010/08/06 11:45:27
    默认时区是0,可用date_default_timezone_set,或在php.ini里设置SELECT FROM_UNIXTIME( 1281095127 )
    结果等于2010-08-06 19:45:27
    这个实际上是获取的服务器系统时间