date_default_timezone_set()设置时区

date_default_timezone_set()设置时区

<?phpecho 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小时所以减8echo date(‘Y-m-d H:i:s‘)."<br>";

echo date_default_timezone_set(‘PRC‘)."<br>"; //设置中国时区echo date(‘Y-m-d H:i:s‘)."<br>";//中国标准时间?>

//输出12009-05-15 02:20:42 //默认时区时间12009-05-15 02:20:42 //("Etc/GMT") 格林威治标准时间12009-05-14 18:20:42 //("Etc/GMT+8") 比林威治标准时间慢8小时12009-05-15 10:20:42 //("Etc/GMT-8") 比林威治标准时间快8小时,是我们的北京时间12009-05-15 10:20:42 //(‘PRC‘) 中国标准时间

以下转自:http://hi.baidu.com/aaxh/blog/item/9f7d96ca7ca1fe80c91768b6.html

之前有一个遗留问题,就是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

时间: 2024-10-18 17:23:19

date_default_timezone_set()设置时区的相关文章

php设置时区的两种方法

php5后都要自己设置时区,要么修改php.ini的设置,要么在代码里修改. 在PHP.INI中设置时区 date.timezone = PRC 在代码中设置时区 1 date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai'   亚洲/上海 2 date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆” 3 date_default_timezone

Centos 设置时区和时间以及增加中文输入法

增加中文输入法: 1.用root登录 ,或su root2.yum install "@Chinese Support"3.exit4.回到桌面,system->preferences->input method>Input Method Preferences>Input Method 下拉选择拼音 Add 进列表中,下次登入即可生效. 设置时区和时间: # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

centos上设置时区

本地单文件上传脚本,命名uf 这是在本机上做的测试,利用bpcs_uploader脚本实现,只是进行简单的封装,自动完善云端文件路径. 技术要点:使用dirname获取文件所在目录,使用pwd获取文件完整路径,并作为云端文件路径. #!/bin/bash cur_dir=$(cd "$(dirname "$1")"; pwd) name=$(basename "$1") /home/grm/bin/bpcs_uploader/bpcs_uploa

Mac OS X 10.9.3 UI 设置界面无法设置时区解决

10.9.3 在选项设置里无法设置时区,表现为选择时区的点的位置后无法保存,导致系统时间错乱,解决方法是用终端设置: sudo systemsetup -gettimezone sudo systemsetup -listtimezones sudo systemsetup -settimezone Asia/Shanghai sudo systemsetup -gettimezone 获取当前时区列出支持的时区设置为 亚洲 上海查看设置结果 注意:如果再次进入时区设置的UI界面,仍会导致时区变

centos 6.5 查看时区和设置时区

centos6.x 和centos7.x在时区方面有点差距,本文是针对centos6.x进行介绍. 其实在我的一个博文里,在安装系统的时候就可以进行时区的设置,本文介绍的是用命令进行时区查看和设置. >>提君博客原创  http://www.cnblogs.com/tijun/  << 使用date命令查看时区 [[email protected] ~]# date -R Thu, 28 Sep 2017 00:31:54 +0800 我们国家的东八区(+0800) 查看clock

linux设置时区同步时间

linux设置时区同步时间 一.运行tzselect sudo tzselect 在这里我们选择亚洲 Asia,确认之后选择中国(China),最后选择北京(Beijing) 如图: 二.复制文件到/etc目录下 sudo cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime 三.更新时间 sudo ntpdate time.windows.com 四.写入硬件 sudo hwclock -w

ubuntu设置时区

ubuntu设置时区 Linux默认情况下使用UTC格式作为标准时间格式,如果在Linux下运行程序,且在程 序中指定了与系统不一样的时区的时候,可能会造成时间错误.如果是Ubuntu的桌面版,则可以直接在图形模式下修改时区信息,但如果是在Server版 呢,则需要通过tzconfig来修改时区信息了.使用方式(如将时区设置成Asia/Chongqing): sudo tzconfig,如果命令不存在请使用 dpkg-reconfigure tzdata 然后按照提示选择 Asia对应的序号,选

MySQL设置时区和默认编码

情况描述 学习spring boot时要在Windows本地安装MySQL5.7,配置好之后项目,启动之后提示需要设置时区,并且在使用过程中发现出现乱码,中文无法显示,出现上述问题的主要是MySQL5.7中没有设置时区和编码. 解决方案 1.在spring boot的配置文件application.properties中设置MySQL的数据源url spring.datasource.url=jdbc:mysql://localhost:3306/yunzhi_spring_boot?chara

PHP中设置时区方法小结

1.修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置date.timezone = "Asia/Shanghai";即可. 2.在程序PHP 5以上版本的程序代码中使用函数ini_set('date.timezone','Asia/Shanghai');或者date_default_timezone_set('Asia/Shanghai'); 一些常用的时区标识符说明: Asia/Shanghai – 上海 Asia/Chongqing