我想用date()得到当前的时间跟数据库里面某个datetime类型的值进行比较。我用echo date('Y-m-d h:m:s')得到是2012-04-04 07:04:20
但是现在我的机器时间是2012-04-04 19:47:20,不知道为什么不一样?
我怎么比较两个时间,是不是需要转换成秒才能比较呢?我查看php.ini中时间有关的设置如下:
; Default timestamp format.
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"; Default date format.
ibase.dateformat = "%Y-%m-%d"; Default time format.
ibase.timeformat = "%H:%M:%S"

解决方案 »

  1.   

    时区问题,修改php.ini date.timezone = "Asia/Shanghai"
      

  2.   

    除了设置时区,差8小时  分钟可不是m哦
    echo date('Y-m-d h:m:s')echo date('Y-m-d H:i:s')翻手册去
      

  3.   

    我查看了,是shanghai
    [Date]
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    date.timezone =Asia/Shanghai
      

  4.   

    注意 H h的区别还有 m i  手册是最好的
      

  5.   


    date_default_timezone_set('PRC');php程序的开头加上这行试下
      

  6.   

    抱歉,没仔细看马马虎虎就回答了。#4的答案才是正确的
    至于比较,在mysql 里 datetime类型是可以用比较字符串的方式比较的
    例如  where '2012-3-3 13:34:34' > `time`
    取出所有2012-3-3 13:34:34之前的列