日期:2014-05-17  浏览次数:20522 次

为什么date得到时间跟机器时间不一样?
我想用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"

------解决方案--------------------
楼主用的是美国服务器?时区不一样吧
------解决方案--------------------
时区问题,修改php.ini date.timezone = "Asia/Shanghai"
------解决方案--------------------
除了设置时区,差8小时 分钟可不是m哦
echo date('Y-m-d h:m:s')

echo date('Y-m-d H:i:s')

翻手册去
------解决方案--------------------
注意 H h的区别

还有 m i 手册是最好的
------解决方案--------------------

PHP code
date_default_timezone_set('PRC');

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