>백엔드 개발 >PHP 튜토리얼 >PHP正确设置时区为北京时间的方法

PHP正确设置时区为北京时间的方法

WBOY
WBOY원래의
2016-06-20 13:02:227223검색

php新手经常会在echo 当前时间的时候发现打印出来的时间和当前时间相差8个小时的问题,这个错误的原因是因为没有设置php的当前时区,PHP默认获取的时间是格林威治标准时间,从地理学角度上来讲这个地方的时间是和北京的时间是相差8个小时的,我以前也经常碰到过这种问题,今天就这个问题总结了php中设置时区的几种方法,希望能帮到所有遇到同样问题的兄弟们额!

1、修改apache服务器的配置文件php.ini,在php.ini中找到 data.timezone 这行,去掉它前面的;号,然后修改为 

data.timezone = "Asia/Shanghai" 或者 date.timezone = "PRC" 即可。

2、直接在PHP 5以上版本apache服务器上的程序代码中使用函数 ini_set('date.timezone','Asia/Shanghai'),或者也可以写为 date_default_timezone_set('Asia/Shanghai'),效果是一样的。下面列出几个中国内陆的常用时区标识符:

Asia/Shanghai – 上海 

Asia/Chongqing – 重庆 
Asia/Urumqi – 乌鲁木齐 
Asia/Hong_Kong – 香港 

Asia/Macao – 澳门

利用php函数设置时区的方法:

ini_set('date.timezone','Asia/Shanghai'); //这里设置的是上海时区

date_default_timezone_set("Etc/GMT-8");//这里设置的是比林威治标准时间快8小时
date_default_timezone_set("Etc/GMT+8");//这里设置的是比林威治标准时间慢8小时
date_default_timezone_set('PRC'); //设置中华人民共和国时区

 


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.