本文操作环境:windows7系统、php7.1版,dell g3电脑
php date函数格式化错误怎么办?date()函数取得时间错误?
通过date()函数获取时间后,你会发现小时时间不对,比现在的时间小8个小时,无论用h,还是用h都一样,这个是因为当前获取的是格林威治时间,与北京时间相差8小时。
解决方法如下:
1、修改php.ini配置文件
打开php.ini文件,一般在php配置根目录下,找到其中的 ;date.timezone,删掉前面的分号,并改为date timezone = prc。保存,重启apahce服务即可(有时用restart会有问题,先stop然后start就行了)。
2、加上date_default_timezone_set(timezone_identifier)函数
这个函数的意思是,设置当前时区,对时间进行初始化,在页头或获取时间语句前加上这句话。
例如:
date_default_timezone_set(prc);echo date("y-m-d h-i-s");
参数如下设置:
date_default_timezone_set(prc) –设置为北京时间,prc代表中华人民共和国
date_default_timezone_set(‘asia/shanghai’) –设置为上海时间,大陆可用的还有‘chongqi’(重庆)、‘urumqi’(乌鲁木齐)同样可以的
港台地区可用:asia/macao ,asia/hong_kong ,asia/taipei (依次为澳门,香港,台北)
新加坡地区:asia/singapore (好像就是没看到北京的)
此函数永远会返回true,但一定要输入timezone_identifier,不然会报错。
下面是所有的时区标识符:(供大家参考)
cetcst6cdtcubaeetegypteireestest5edtetc/gmtetc/gmt+0etc/gmt+1etc/gmt+10etc/gmt+11etc/gmt+12etc/gmt+2etc/gmt+3etc/gmt+4etc/gmt+5etc/gmt+6etc/gmt+7etc/gmt+8etc/gmt+9etc/gmt-0etc/gmt-1etc/gmt-10etc/gmt-11etc/gmt-12etc/gmt-13etc/gmt-14etc/gmt-2etc/gmt-3etc/gmt-4etc/gmt-5etc/gmt-6etc/gmt-7etc/gmt-8etc/gmt-9etc/gmt0etc/greenwichetc/uctetc/universaletc/utcetc/zulufactorygbgb-eiregmtgmt+0gmt-0gmt0greenwichhongkonghsticelandiranisraeljamaicajapankwajaleinlibyametmstmst7mdtnavajonznz-chatpolandportugalprcpst8pdtrocroksingaporeturkeyuctuniversalutcw-suwet
推荐学习:《php视频教程》
以上就是php date函数格式化错误怎么办的详细内容。
