PHP模板代码如下
  {pc:get sql="SELECT * from phpcms_dqxs where status=99  and dqxs_ad=30 and datediff(FROM_UNIXTIME(sdata),now())=0 and catid =$classa order by sdata DESC" num="200" return="data" }
  {loop $data $r}
  {date('m月d日 H时i分',$r['sdata'])} 今日</DD>
 去掉(FROM_UNIXTIME(sdata),now())=0 这个的话会显示出所有天数的信息
 要实现的是显示当天的时间就加了这段 但是出来的时间不准确
  用的国外的服务器 系统时间是伦敦时间比现在晚了8小时 
  服务器时间不能更改 用的是空间 只能在代码里时间
  数据表名dqxs  获取sdata字段时间 与系统时间比较 datediff(FROM_UNIXTIME(sdata),now())=0
  
 但是出来的结果是 比如(sdata)下的时间是12月27日 01时00分
  现在的北京时间是12月27日15时00分 
  应该让取出的数据库 的数据显示为 今天  但是他显示的是昨天 
  如果是昨天的话datediff(FROM_UNIXTIME(sdata),now())=< 0应该是这段
在datediff(FROM_UNIXTIME(sdata)这个获取数据库字段时间加8小时(sdata)上的时间值显示出来的时间不改变只是做对比或者在now()获取的系统时间上加8小时
  
 求大神指点一下 怎样将获取的系统时间 加上8小时后再与数据库(sdata)的时间做比较 
 代码加到哪应该怎样改 麻烦写清楚点 我是菜鸟 

解决方案 »

  1.   

    MYSQL中时间的运算可以直接select now()+interval 8 hour;
      

  2.   

    datediff(FROM_UNIXTIME(sdata),select now()+interval 8 hour;=0 
    是这样吗
      

  3.   

    mysql> select now()+interval 8 hour;
    +-----------------------+
    | now()+interval 8 hour |
    +-----------------------+
    | 2013-12-28 20:15:52   |
    +-----------------------+
    1 row in set (0.02 sec)
      

  4.   

    ini_set('date.timezone','PRC');
    在入口文件设置。
      

  5.   

    <?php
    date_default_timezone_set('Asia/Shanghai');//添加该行在代码最上方