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 相关文章推荐
新版mysql+apache+php Linux安装指南
Oct 09 PHP
php 删除记录实现代码
Mar 12 PHP
php面向对象全攻略 (十七) 自动加载类
Sep 30 PHP
php数据库连接时容易出错的特殊符号问题
Sep 01 PHP
PHP 设置MySQL连接字符集的方法
Jan 02 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
Nov 01 PHP
Thinkphp+smarty+uploadify实现无刷新上传
Jul 30 PHP
thinkPHP使用post方式查询时分页失效的解决方法
Dec 09 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
Jan 22 PHP
php图片裁剪函数
Oct 31 PHP
laravel validate 设置为中文的例子(验证提示为中文)
Sep 29 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 日期时间处理函数小结
2009/12/18 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
2010/03/13 PHP
yii上传文件或图片实例
2014/04/01 PHP
javascript 写类方式之二
2009/07/05 Javascript
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
2011/10/22 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
使用JavaScript进行表单校验功能
2017/08/01 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
2017/09/18 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
python实现的文件同步服务器实例
2015/06/02 Python
Python网络编程使用select实现socket全双工异步通信功能示例
2018/04/09 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
Python迭代器协议及for循环工作机制详解
2020/07/14 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
百度JavaScript笔试题
2015/01/15 面试题
保护环境演讲稿
2014/05/10 职场文书
企业员工爱岗敬业演讲稿
2014/08/26 职场文书
绵山导游词
2015/02/05 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
实习指导老师意见
2015/06/04 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
护理心得体会范文
2016/01/22 职场文书
2019年家电促销广告语集锦
2019/10/21 职场文书