php获取时间相差8小时(php获取时间相差8小时的数据)
date_default_timezone_setquotPRCquot 这个方法是可以的至于出错提示,则是你的数据库连接出错了检查一下host,user,password是否正确了;时期不对,你可以选择以下的一种方法来解决1在程序里设置时区date_default_timezone_setAsiaHong_Kong2在phpini里设置,删掉datetimezone= AsiaHong_Kong前的#号,并重启;riqi=time+8*60*60 直接这样写就可以了!从php510开始,phpini里加入了datetimezone这个选项,默认情况下是关闭的 也就是显示的时间无论用什么php命令都是格林威治标准时间 和我们的时间北京时间差了;但错误日志的运行一般是apache或者phpcgi,它们是直接调用操作系统的时间和时区的,所以写出来的日志时间有时差依照你的描述,估计你用的是linux,试一下修正一下linux的时区一下就可以了命令如下rm f etclocal;因为在php的配置文件中datetimezone =默认是为空,则时间获取是从0时区的时间,中国是在东八区,所以相差八个小时;date_default_timezone_set#39PRC#39 在涉及到时间的php程序页面加上这一句就可以了,设置时区为中国北京时间服务器时间是改不了的,在美国呢再说服务器上不只你一个网站,不可能给你改时间的只能修改自己的php。
差了8个小时,应该是配置没有生效web目录下加一个iphp 输出一下phpinfo 看里面实际用到的phpini 跟你改那个是否是同一个 如果是同一个文件,确保相关的应用重启过以加载新配置,比如apache 或 phpfpm 具体看;1首先在电脑上创建一个indexphp文件,编辑indexphp2然后输入获取当天零点的时间戳,输入代码$today = strtotimedatequotYmdquot,time$time = strtotime$today获取到echo $timequotquot输出3获。
或者是在php文件里面使用时间之前 lt?php date_Default_TimeZone_setquotPRCquotnowtime=datequotYmd Hisquotecho quot现在时间quot$nowtime;找到datetimezone这行,去掉前面的分号,改成datetimezone = AsiaShanghai 2修改 htaccess文件修改htaccess文件有两种办法,下面的两条语句只要有一条即可 php_value datetimezone AsiaShanghaiSetEnv TZ Asia;lt?phpdate_default_timezone_set #39PRC#39这里设置时区为中国+8echo date#39Ymd His#39?如果不是当前时间,就是服务器的时间并不是中国的时间;一使用函式 date 实现 在编辑器中输入lt?php echo $showtime=datequotYmd Hisquot?,点击回车就可以得知当前的时间其中Y是代表4位的年份,H是24小时制,i 是分钟,如 quot00quot 至 quot59quot s 是秒。
因为你的格式有误,时间参数不要有逗号,逗号后面无法识别默认取当前年份了echo date#39Ymd#39,strtotimequot24 Dec 2014quotYmd确实是返回8位年月日,不知道你要什么格式的;和我们的时间北京时间差了正好8个小时,有以下3中方法可以恢复正常的时间1,最简单的方法就是不要用php51以上的版本 2,如果一定要用,而且不能修改phpini,则需要在关于时间的初始化的语句的 上面加上 date_;估计是你的项目配置里设置了时间为UTC,你找下配置表,看能不能找到TIMEZONE。