PHP date_default_timezone_set()设置时区操作实例分析


Posted in PHP onMay 16, 2020

本文实例讲述了PHP date_default_timezone_set()设置时区操作。分享给大家供大家参考,具体如下:

<?php
echo function_exists(date_default_timezone_set)."<br>";//在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名
echo date('Y-m-d H:i:s')."<br>";//默认时区的时间

echo date_default_timezone_set("Etc/GMT")."<br>";//这是格林威治标准时间,得到的时间和默认时区是一样的
echo date('Y-m-d H:i:s')."<br>";

echo date_default_timezone_set("Etc/GMT+8")."<br>";//这里比林威治标准时间慢8小时
echo date('Y-m-d H:i:s')."<br>";

echo date_default_timezone_set("Etc/GMT-8")."<br>";//由上一个不能难想像,我们比那快8小时所以减8
echo date('Y-m-d H:i:s')."<br>";

echo date_default_timezone_set('PRC')."<br>"; //设置中国时区
echo date('Y-m-d H:i:s')."<br>";//中国标准时间
?>

输出

1
2009-05-15 02:20:42 //默认时区时间
1
2009-05-15 02:20:42 //("Etc/GMT") 格林威治标准时间
1
2009-05-14 18:20:42 //("Etc/GMT+8") 比林威治标准时间慢8小时
1
2009-05-15 10:20:42 //("Etc/GMT-8") 比林威治标准时间快8小时,是我们的北京时间
1
2009-05-15 10:20:42 //('PRC') 中国标准时间

之前有一个遗留问题,就是echo date("y-m-d h:i:s",time())回来的时间总是与实际时间对不上,今天终于在网上找到了原因和解决方法,分享如下:

我补充一点,我按照下面提示的方法修改php.ini找不到date.timezone 这行,是不是就没办法了呢,当然不是啦,哈哈没有的话就自己加嘛,自己动手丰衣足食。我加了这样一句date.timezone = "PRC",问题就搞定了,高兴一下.

从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的

也就是显示的时间(无论用什么php命令)都是格林威治标准时间

和我们的时间(北京时间)差了正好8个小时,有以下3中方法可以恢复正常的时间。

1,最简单的方法就是不要用php5.1以上的版本

2,如果一定要用,而且不能修改php.ini,则需要在关于时间的初始化的语句的
上面加上 date_default_timezone_set (XXX);
cp无此问题

3,一劳永逸,仅限能修改php.ini。打开php.ini查找date.timezone 去掉前面的分号
= 后面加XXX,重启http服务(如apache2或iis等)即可

关于XXX,大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为重庆,上海,乌鲁木齐)
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)
还有新加坡:Asia/Singapore
老外好像把北京漏调了
其他可用的值是:Etc/GMT-8 ,Singapore ,Hongkong ,PRC
PRC是什么?PRC是中华人民共和国啊-_-
---------------------------------------------------------------------------------------------------------------------

解决方式:

在页头使用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 参数不合法)。

------------------------------------------------------------------------------------------

再附上时区标识符:

CET
CST6CDT
Cuba
EET
Egypt
Eire
EST
EST5EDT
Etc/GMT
Etc/GMT+0
Etc/GMT+1
Etc/GMT+10
Etc/GMT+11
Etc/GMT+12
Etc/GMT+2
Etc/GMT+3
Etc/GMT+4
Etc/GMT+5
Etc/GMT+6
Etc/GMT+7
Etc/GMT+8
Etc/GMT+9
Etc/GMT-0
Etc/GMT-1
Etc/GMT-10
Etc/GMT-11
Etc/GMT-12
Etc/GMT-13
Etc/GMT-14
Etc/GMT-2
Etc/GMT-3
Etc/GMT-4
Etc/GMT-5
Etc/GMT-6
Etc/GMT-7
Etc/GMT-8
Etc/GMT-9
Etc/GMT0
Etc/Greenwich
Etc/UCT
Etc/Universal
Etc/UTC
Etc/Zulu
Factory
GB
GB-Eire
GMT
GMT+0
GMT-0
GMT0
Greenwich
Hongkong
HST
Iceland
Iran
Israel
Jamaica
Japan
Kwajalein
Libya
MET
MST
MST7MDT
Navajo
NZ
NZ-CHAT
Poland
Portugal
PRC
PST8PDT
ROC
ROK
Singapore
Turkey
UCT
Universal
UTC
W-SU
WET

PHP 相关文章推荐
php.ini中文版
Oct 09 PHP
php时间不正确的解决方法
Apr 09 PHP
php 连接mysql连接被重置的解决方法
Feb 15 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
Jun 21 PHP
深入理解curl类,可用于模拟get,post和curl下载
Jun 08 PHP
CURL状态码列表(详细)
Jun 27 PHP
php中出现空白页的原因及解决方法汇总
Jul 08 PHP
PHP魔术方法的使用示例
Jun 23 PHP
php+mysql查询实现无限下级分类树输出示例
Oct 03 PHP
php获取远程图片并下载保存到本地的方法分析
Oct 08 PHP
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
Apr 26 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
Yii框架应用组件用法实例分析
May 15 #PHP
Yii框架小部件(Widgets)用法实例详解
May 15 #PHP
Yii框架安装简明教程
May 15 #PHP
php字符串函数 str类常见用法示例
May 15 #PHP
PHP数组array类常见操作示例
May 15 #PHP
php数值计算num类简单操作示例
May 15 #PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
May 15 #PHP
You might like
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
php arsort 数组降序排序详细介绍
2016/11/17 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
PHP dirname(__FILE__)原理及用法解析
2020/10/28 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
Javascript 面向对象之重载
2010/05/04 Javascript
一些经常会用到的Javascript检测函数
2010/05/31 Javascript
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
如何在node的express中使用socket.io
2014/12/15 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
js实现指定时间倒计时效果
2019/08/26 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
Python下rrdtool模块的基本使用方法
2015/11/13 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
教育学习自我评价
2014/02/03 职场文书
开学典礼感言
2014/02/16 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
2014年司法所工作总结
2014/11/22 职场文书
优秀教研组申报材料
2014/12/26 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
2015年暑假工作总结
2015/07/13 职场文书
2016师德师风学习心得体会
2016/01/12 职场文书
校园文化艺术节开幕词
2016/03/04 职场文书
2016年全国助残日活动总结
2016/04/01 职场文书
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android