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.MVC的模板标签系统(一)
Sep 05 PHP
PHP文件下载类
Dec 06 PHP
用PHP实现的随机广告显示代码
Jun 14 PHP
二招解决php乱码问题
Mar 25 PHP
zend framework配置操作数据库实例分析
Dec 06 PHP
解析php中memcache的应用
Jun 18 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 PHP
php上传大文件失败的原因及应对策略
Oct 20 PHP
PHP实现根据时间戳获取周几的方法
Feb 26 PHP
php 5.4 全新的代码复用Trait详解
Jan 05 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 PHP
PHP封装请求类实例分析【基于Yii框架】
Oct 17 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
smarty半小时快速上手入门教程
2014/10/27 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
PHP通过串口实现发送短信
2015/07/08 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
2009/10/26 Javascript
html页面显示年月日时分秒和星期几的两种方式
2013/08/20 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
2015/11/29 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
js仿微信语音播放实现思路
2016/12/12 Javascript
浅谈Node.js轻量级Web框架Express4.x使用指南
2017/05/03 Javascript
Angularjs单选框相关的示例代码
2017/08/17 Javascript
深入理解Vuex 模块化(module)
2017/09/26 Javascript
使用JavaScript破解web
2018/09/28 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
layui 弹出删除确认界面的实例
2019/09/06 Javascript
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
Python获取apk文件URL地址实例
2013/11/01 Python
Python切换pip安装源的方法详解
2016/11/18 Python
Python分支结构(switch)操作简介
2018/01/17 Python
PyQt5每天必学之组合框
2018/04/20 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
2020/06/12 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
PyTorch 中的傅里叶卷积实现示例
2020/12/11 Python
CSS3中几个新增加的盒模型属性使用教程
2016/03/01 HTML / CSS
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
MyHeritage美国:家族史研究和DNA测试的领先服务
2019/05/27 全球购物
2014年学校法制宣传日活动总结
2014/11/01 职场文书
公务员个人考察材料
2014/12/23 职场文书
英语辞职信怎么写
2015/02/28 职场文书
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python