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循环输出数据库内容的代码
May 24 PHP
php连接mysql数据库代码
Mar 10 PHP
检查php文件中是否含有bom的函数
May 31 PHP
php调用dll的实例操作动画与代码分享
Aug 14 PHP
PHP递归返回值时出现的问题解决办法
Feb 19 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
PHP不用递归遍历目录下所有文件的代码
Jul 04 PHP
Zend Framework动作助手Url用法详解
Mar 05 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
Sep 22 PHP
PHP XML和数组互相转换详解
Oct 26 PHP
php图片裁剪函数
Oct 31 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
Jan 23 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
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
一些PHP写的小东西
2006/12/06 PHP
php截取后台登陆密码的代码
2012/05/05 PHP
解析PHP中如何将数组变量写入文件
2013/06/06 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
js 与或运算符 || &amp;&amp; 妙用
2009/12/09 Javascript
jQuery中(function(){})()执行顺序的理解
2013/03/05 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
promise处理多个相互依赖的异步请求(实例讲解)
2017/08/03 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
js实现查询商品案例
2020/07/22 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
[41:52]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第二场 2月22日
2021/03/11 DOTA
基于Python的身份证号码自动生成程序
2014/08/15 Python
深入理解Python中的内置常量
2017/05/20 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
pandas将DataFrame的列变成行索引的方法
2018/04/10 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
安装docker-compose的两种最简方法
2019/07/30 Python
Flask 上传自定义头像的实例详解
2020/01/09 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
Python CSS选择器爬取京东网商品信息过程解析
2020/06/01 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
Django集成MongoDB实现过程解析
2020/12/01 Python
css3实现圆锥渐变conic-gradient效果
2020/02/12 HTML / CSS
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
How TDD works
2012/09/30 面试题
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
公务员爱岗敬业心得体会
2016/01/25 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python
总结几个非常实用的Python库
2021/06/26 Python