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中长文章分页显示实现代码
Sep 29 PHP
那些年我们错过的魔术方法(Magic Methods)
Jan 14 PHP
php绘图中显示不出图片的原因及解决
Mar 05 PHP
THINKPHP支持YAML配置文件的设置方法
Mar 17 PHP
PHP简单预防sql注入的方法
Sep 27 PHP
Smarty3配置及入门语法
Feb 22 PHP
浅谈PHP中类和对象的相关函数
Apr 26 PHP
Zend Framework框架中实现Ajax的方法示例
Jun 27 PHP
PHP array_reduce()函数的应用解析
Oct 28 PHP
laravel5使用freetds连接sql server的方法
Dec 07 PHP
ThinkPHP中图片按比例切割的代码实例
Mar 08 PHP
Laravel框架文件上传功能实现方法示例
Apr 16 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代码
2007/03/03 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
php生成shtml类用法实例
2014/12/09 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
IE6浏览器下resize事件被执行了多次解决方法
2012/12/11 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
2013/04/24 Javascript
jquery动态添加option示例
2013/12/30 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
javascript生成大小写字母
2015/07/03 Javascript
jQuery横向擦除焦点图特效代码分享
2015/09/06 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
iView框架问题整理小结
2018/10/16 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
Vue中多元素过渡特效的解决方案
2020/02/05 Javascript
微信小程序实现上拉加载功能示例【加载更多数据/触底加载/点击加载更多数据】
2020/05/29 Javascript
[01:15:18]2014 DOTA2国际邀请赛中国区预选赛 LGD VS Speed Gaming.cn
2014/05/22 DOTA
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
Python实现partial改变方法默认参数
2014/08/18 Python
python实现list由于numpy array的转换
2018/04/04 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
2019/06/05 Python
pycharm修改file type方式
2019/11/19 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
英语简历自我评价
2014/01/26 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
法定授权委托证明书
2015/06/18 职场文书
员工担保书范本
2015/09/22 职场文书