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中使用Oracle数据库(4)
Oct 09 PHP
推荐一篇入门级的Class文章
Mar 19 PHP
一些 PHP 管理系统程序中的后门
Aug 05 PHP
php实现的仿阿里巴巴实现同类产品翻页
Dec 11 PHP
php设计模式 Facade(外观模式)
Jun 26 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
Jun 24 PHP
php利用scws实现mysql全文搜索功能的方法
Dec 25 PHP
php文件上传类完整实例
May 14 PHP
php实现背景图上添加圆形logo图标的方法
Nov 17 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
php 可变函数使用小结
Jun 12 PHP
php字符串截取函数mb_substr用法实例分析
Jun 25 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生成WAP页面
2006/10/09 PHP
PHP编程中字符串处理的5个技巧小结
2007/11/13 PHP
php编程每天必学之验证码
2016/03/03 PHP
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
js几秒以后倒计时跳转示例
2013/12/26 Javascript
jQuery动态创建html元素的常用方法汇总
2014/09/05 Javascript
javascript里使用php代码实例
2014/12/13 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
Node.js中的process.nextTick使用实例
2015/06/25 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
当vue路由变化时,改变导航栏的样式方法
2018/08/22 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
vue+axios实现post文件下载
2019/09/25 Javascript
vue框架中props的typescript用法详解
2020/02/17 Javascript
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
python使用reportlab实现图片转换成pdf的方法
2015/05/22 Python
python编程开发之日期操作实例分析
2015/11/13 Python
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
python分治法求二维数组局部峰值方法
2018/04/03 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
python实现飞行棋游戏
2020/02/05 Python
美国波西米亚风格服装品牌:Show Me Your Mumu
2018/01/05 全球购物
Servlet如何得到服务器的信息
2015/12/22 面试题
四种会话跟踪技术
2015/05/20 面试题
护理学专业推荐信
2013/12/03 职场文书
毕业自荐书
2013/12/09 职场文书
幼儿教师考核制度
2014/01/25 职场文书
学雷锋志愿服务月活动总结
2014/03/09 职场文书
植树节口号
2014/06/21 职场文书
销售开票员岗位职责
2015/04/15 职场文书
商标侵权律师函
2015/05/27 职场文书