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 相关文章推荐
使用Apache的rewrite技术
Jun 22 PHP
关于时间计算的结总
Dec 06 PHP
php下检测字符串是否是utf8编码的代码
Jun 28 PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
May 29 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
Feb 03 PHP
全面解析PHP操作Memcache基本函数
Jul 14 PHP
php变量与数组相互转换的方法(extract与compact)
Dec 02 PHP
php实现数组纵向转横向并过滤重复值的方法分析
May 29 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
Jun 07 PHP
php 可变函数使用小结
Jun 12 PHP
TP5框架实现上传多张图片的方法分析
Mar 29 PHP
PHP设计模式(观察者模式)
Jul 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&amp;MYSQL分页原理及实现
2007/01/02 PHP
PHP字符串的编码问题的详细介绍
2013/04/27 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
thinkPHP交易详情查询功能详解
2016/12/02 PHP
Alliance vs AM BO3 第一场2.13
2021/03/10 DOTA
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
JS继承 笔记
2011/07/13 Javascript
json的前台操作和后台操作实现代码
2012/01/20 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
Vue学习笔记进阶篇之函数化组件解析
2017/07/21 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
python将人民币转换大写的脚本代码
2013/02/10 Python
python时间整形转标准格式的示例分享
2014/02/14 Python
Python实现选择排序
2017/06/04 Python
详解Python if-elif-else知识点
2018/06/11 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
2020/05/15 Python
如何在网站上添加谷歌定位信息
2016/04/16 HTML / CSS
美国Curacao百货连锁店网站:iCuracao.com
2019/07/20 全球购物
实习生个人的自我评价
2013/12/08 职场文书
五十岁生日宴会答谢词
2014/01/15 职场文书
保证书格式范文
2014/04/28 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
协议书范文
2015/01/27 职场文书
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers