一直没有注意,今天做一个秒杀系统,1分钟秒杀,结果提示还没结束,但是提交却显示结束了,
经过调查发现,time()得到的时候比实际时间快2分多钟。
怎么回事?怎么决解?测试代码date_default_timezone_set ('Etc/GMT-8');
echo date('Y-m-d:H-i-s',time());date_default_timezone_set('Asia/Shanghai');
echo date('Y-m-d:H-i-s',time());date_default_timezone_set('PRC');
echo date('Y-m-d:H-i-s',time());换了多台服务器也是如此,我电脑的时间跟百度搜索的报时一样的,是准确的

解决方案 »

  1.   

    请看utc时间是否一致,看本地时间一致是没用的,一个错的utc配合一个错的时区一样可以让本地时间看起来正确,但utc错误已经影响你开发了。
      

  2.   

    ini_set('date.timezone','Asia/Shanghai');echo date('Y-m-d H:m:s',time());这样就正确了!
      

  3.   

    ini_set('date.timezone','Asia/Shanghai');echo date('Y-m-d H:i:s',time());这样就正确了!