您好,欢迎访问一九零五行业门户网

php显示时间与实际时间不同怎么办

解决方法:1、使用“ini_set('date.timezone','prc')”设置时区;2、使用“date_default_timezone_set('prc')”设置时区;3、在配置文件中,设置“date.timezone=prc”。
本教程操作环境:windows7系统、php7.1版,dell g3电脑
在php中,显示时间与实际时间不一致,是因为时区设置错了。
全球分为 24 个时区,每个时区都有自己的本地时间,同一时间内各时区的本地时间相差 1~23 小时,如英国伦敦本地时间与北京本地时间相差 8 个小时。
想要将显示时间与实际时间设置一样,就需要将时区设置为本地时区,下面是一些常用时区标识符及其含义:
asia/shanghai —— 上海
asia/chongqing —— 重庆
asia/urumqi —— 乌鲁木齐
asia/hong_kong —— 香港
asia/macao —— 澳门
asia/taipei —— 台北
asia/singapore —— 新加坡
prc —— 中国时区
注:在国内的话我们将时区设置为“asia/shanghai 或者 prc”都可以,设置成功之后记得重启一下服务器!
下面看看设置时区的方法:
方法1:使用 ini_set() 函数设置时区
php 中的 ini_set() 函数可以设置指定配置选项的值,这个配置选项会在脚本运行时保持新的值,并在脚本结束时恢复。函数的语法格式如下:
ini_set($varname, $newvalue)
其中 $varname 为待修改的配置选项,$newvalue 为配置选项的新值。
示例:
<?phpheader("content-type:text/html;charset=utf-8"); ini_set('date.timezone', 'gmt');echo '当前的格林尼治时间为:'.date('y-m-d h:i:s',time()).'<br>';ini_set('date.timezone', 'prc');echo '国内当前时间为:'.date('y-m-d h:i:s',time());?>
输出结果:
方法2:使用 date_default_timezone_set() 函数设置时区
php 中的 date_default_timezone_set() 函数可以为脚本中的所有时间日期函数设置一个默认时区,其语法格式如下:
date_default_timezone_set($timezone_identifier)
参数 $timezone_identifier 为时区标识符,例如 utc(格林尼治时间)或 europe/lisbon(葡萄牙)。
自 php5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 e_notice 级别的错误信息,如果使用系统设定或 tz 环境变量则还会产生 e_strict 级别的信息。
示例:
<?phpheader("content-type:text/html;charset=utf-8"); date_default_timezone_set('europe/lisbon');echo '葡萄牙的当前时间为:'.date('y-m-d h:i:s',time()).'<br>';date_default_timezone_set('prc');echo '国内当前时间为:'.date('y-m-d h:i:s',time());?>
输出结果:
方法3:在配置文件php.ini中设置
php 的配置文件就是在 php 安装目录下的 php.ini 文件,找到并打开它。然后在文件中搜索date.timezone,我们会看到如下所示的一段信息:
[date]; defines the default timezone used by the date functions; http://php.net/date.timezone;date.timezone =
其中;date.timezone =前面的;与 php 中的//功能相同,都是注释的意思,这里我们需要将这个;去掉,并在这一句的=后面填写对应的时区标识符,如下所示:
[date]; defines the default timezone used by the date functions; http://php.net/date.timezonedate.timezone = prc
扩展知识:亚洲可以设置的时区标识符
asia/aden asia/almaty asia/amman asia/anadyr
asia/aqtau asia/aqtobe asia/ashgabat asia/atyrau
asia/baghdad asia/bahrain asia/baku asia/bangkok
asia/barnaul asia/beirut asia/bishkek asia/brunei
asia/chita asia/choibalsan asia/colombo asia/damascus
asia/dhaka asia/dili asia/dubai asia/dushanbe
asia/famagusta asia/gaza asia/hebron asia/ho_chi_minh
asia/hong_kong asia/hovd asia/irkutsk asia/jakarta
asia/jayapura asia/jerusalem asia/kabul asia/kamchatka
asia/karachi asia/kathmandu asia/khandyga asia/kolkata
asia/krasnoyarsk asia/kuala_lumpur asia/kuching asia/kuwait
asia/macau asia/magadan asia/makassar asia/manila
asia/muscat asia/nicosia asia/novokuznetsk asia/novosibirsk
asia/omsk asia/oral asia/phnom_penh asia/pontianak
asia/pyongyang asia/qatar asia/qostanay asia/qyzylorda
asia/riyadh asia/sakhalin asia/samarkand asia/seoul
asia/shanghai asia/singapore asia/srednekolymsk asia/taipei
asia/tashkent asia/tbilisi asia/tehran asia/thimphu
asia/tokyo asia/tomsk asia/ulaanbaatar asia/urumqi
asia/ust-nera asia/vientiane asia/vladivostok asia/yakutsk
asia/yangon asia/yekaterinburg asia/yerevan
推荐学习:《php视频教程》
以上就是php显示时间与实际时间不同怎么办的详细内容。
其它类似信息

推荐信息