PHP中设置时区方法小结

高洛峰
发布: 2016-12-30 10:38:33
原创
1460人浏览过

找到原因后,在网上搜索到了一些关于php的时区设置方法: 

1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置data.timezone = “asia/shanghai”;即可。 

2、在程序php 5以上版本的程序代码中使用函数ini_set('date.timezone','asia/shanghai');或者date_default_timezone_set(‘asia/shanghai'); 

一些常用的时区标识符说明: 

asia/shanghai – 上海 
asia/chongqing – 重庆 
asia/urumqi – 乌鲁木齐 
asia/hong_kong – 香港 
asia/macao – 澳门 
asia/taipei – 台北 
asia/singapore – 新加坡 


函数设置时区方法: 

<?php 
function_exists(date_default_timezone_set);//在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名 
date_default_timezone_set("Etc/GMT");//这是格林威治标准时间,得到的时间和默认时区是一样的 
date_default_timezone_set("Etc/GMT+8");//这里比林威治标准时间慢8小时 
date_default_timezone_set("Etc/GMT-8");//这里比林威治标准时间快8小时 
date_default_timezone_set('PRC'); //设置中国时区 
?>
登录后复制

函数ini_set()设置时区: 
可以在文件开头加入 ini_set('date.timezone','Asia/Shanghai'); // 'Asia/Shanghai' 为上海时区 

手动修改php.ini设置 
打开php找到date.timezone = "PRC" 如有去掉前面的分号,没有的话手动添加! 

以下是一些资料补充:

装上PHP5后你会发现这样的问题 

$atime=date("Y-m-d H:i:s"); 
echo $atime; 
?> 
输出:2006-05-16 06:36:06 
现在几点了?/我的是14:36 
这是为什么捏? 
原因是假如你不在程序或配置文件中设置你的服务器当地时区的话 
PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入 
格林威治标准时间和北京时间大概差8个小时左右 那么我们如何避免时间误差呢? 
我们一起来看看解决方法: 
在页头使用date_default_timezone_set()设置我的默认时区为北京时间 

<? 
date_default_timezone_set('PRC'); 
echo date('Y-m-d H:i:s'); 
?>
登录后复制

时间和服务器当前时间一样了! 
另外附date_default_timezone_set用法如下: 
------------------------------------------------------------------------------------ 
date_default_timezone_set 
(PHP 5 >= 5.1.0RC1) 
date_default_timezone_set -- 设定用于一个脚本中所有日期时间函数的默认时区 
说明 
bool date_default_timezone_set ( string timezone_identifier ) 
date_default_timezone_set() 设定用于所有日期时间函数的默认时区。 
注: 自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息。 
参数 
timezone_identifier 
时区标识符,例如 UTC 或 Europe/Lisbon 
返回值 
本函数永远返回 TRUE(即使 timezone_identifier 参数不合法)。 
------------------------------------------------------------------------------------- 
或者修改 php.ini 中 date.timezone 值 
date.timezone = PRC 

装上PHP5后你会发现这样的问题 
$atime=date("Y-m-d H:i:s"); 
echo $atime; 
?> 
输出:2006-05-16 06:36:06 
现在几点了?/我的是14:36 
这是为什么捏? 
原因是假如你不在程序或配置文件中设置你的服务器当地时区的话 
PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入 
格林威治标准时间和北京时间大概差8个小时左右 那么我们如何避免时间误差呢? 
我们一起来看看解决方法: 
在页头使用date_default_timezone_set()设置我的默认时区为北京时间 

<? 
date_default_timezone_set('PRC'); 
echo date('Y-m-d H:i:s'); 
?>
登录后复制

时间和服务器当前时间一样了! 
另外附date_default_timezone_set用法如下: 
------------------------------------------------------------------------------------ 
date_default_timezone_set 
(PHP 5 >= 5.1.0RC1) 
date_default_timezone_set -- 设定用于一个脚本中所有日期时间函数的默认时区 
说明 
bool date_default_timezone_set ( string timezone_identifier ) 
date_default_timezone_set() 设定用于所有日期时间函数的默认时区。 
注: 自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息。 
参数 
timezone_identifier 
时区标识符,例如 UTC 或 Europe/Lisbon 
返回值 
本函数永远返回 TRUE(即使 timezone_identifier 参数不合法)。 
------------------------------------------------------------------------------------- 
或者修改 php.ini 中 date.timezone 值 
date.timezone = PRC

BibiGPT-哔哔终结者
BibiGPT-哔哔终结者

B站视频总结器-一键总结 音视频内容

BibiGPT-哔哔终结者 28
查看详情 BibiGPT-哔哔终结者

更多PHP中设置时区方法小结相关文章请关注PHP中文网!

立即学习PHP免费学习笔记(深入)”;

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号