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作的文本留言本的例子(五)
Oct 09 PHP
如何在WIN2K下安装PHP4.04
Oct 09 PHP
最令PHP初学者们头痛的十四个问题
Jan 15 PHP
phpmailer发送gmail邮件实例详解
Jun 24 PHP
浅析关于PHP位运算的简单权限设计
Jun 30 PHP
php输出1000以内质数(素数)示例
Feb 16 PHP
php版本的cron定时任务执行器使用实例
Aug 19 PHP
摘自织梦CMS中的图片处理类
Aug 08 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
May 02 PHP
php实现的二分查找算法示例
Jun 20 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
Aug 15 PHP
PHP如何通过带尾指针的链表实现'队列'
Oct 22 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函数file_get_contents超时处理的方法详解
2013/06/03 PHP
php递归遍历多维数组的方法
2015/04/18 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
jQuery toggle()设置CSS样式
2009/11/05 Javascript
JavaScript 学习历程和心得分享
2010/12/12 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
JavaScript验证Email(3种方法)
2015/09/21 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
2019/05/07 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
2020/12/11 Vue.js
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
Python 解析XML文件
2009/04/15 Python
python 字典中取值的两种方法小结
2018/08/02 Python
Python numpy中矩阵的基本用法汇总
2019/02/12 Python
python3实现小球转动抽奖小游戏
2020/04/15 Python
python3实现单目标粒子群算法
2019/11/14 Python
用python解压分析jar包实例
2020/01/16 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
关于html字符串正则判断和匹配的具体使用
2019/12/12 HTML / CSS
美国在线工具商店:Acme Tools
2018/06/26 全球购物
台湾母婴用品限时团购:妈咪爱
2018/08/03 全球购物
廉政教育心得体会
2014/01/01 职场文书
公益活动策划方案
2014/01/09 职场文书
团日活动总结模板
2014/06/25 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
实习生矿工检讨书
2014/10/13 职场文书
Python 发送SMTP邮件的简单教程
2021/06/24 Python
MySQL 聚合函数排序
2021/07/16 MySQL