默认安装的LAMP环境中,时区默认设置在GMT时间,所以一般得到的时间都会比我们电脑中显示的时间早八个小时(假设你的时间设置正确,并且时区是在东八区)。PHP提供了两个函数用来处理时区的操作:date_default_timezone_set() 和 date_default_timezone_get()如果我们希望更改服务器默认的时区,修改 php.ini 文件中的 ;date.timezone = ,添加自己需要的时区,例如 date.timezone = Asia/Chongqing,然后重启服务器就可以了。PHP支持的 timezone 的字符串在参考资料[1]中可以看到。用下面这一段代码,可以比较清楚的看到时区变化的影响:$now = time();
创新互联公司,专注为中小企业提供官网建设、营销型网站制作、响应式网站建设、展示型成都做网站、成都网站建设、成都外贸网站建设等服务,帮助中小企业通过网站体现价值、有效益。帮助企业快速建站、解决网站建设与网站营销推广问题。
echo "The GMT now is : " . date('Y-m-d H:i:s', now()) . 'br /' ;
echo "The local time is : " . date('Y-m-d H:i:s', gmt_to_local($now) ) . 'br /';
date_default_timezone_set('Asia/Chongqing');
echo 'Set the timezone to :' . date_default_timezone_get() . "br /";
echo "The local time is : " . date('Y-m-d H:i:s', gmt_to_local($now) ) . 'br /'; 如果我们的站点是面向单一时区的用户,我想采用这个时区的时间来记载没什么问题,或者网站应用的类型并不 Care 时间的差别,那么我们用什么时间做存储都没关系。一旦我们的用户对于时区的影响有较大关系的时候,我想应该统一使用GMT的标准时间来进行存储,在显示的时候再根据用户所在的时区进行显示,这样虽然前端显示每次都需要去计算用户当前的时间,但是对于后台逻辑的统一性应该是大有裨益的。目前,我们国家已经废除了夏令时的使用,但是世界上仍有其他一些国家在使用夏令时,我们在程序处理的时候应该注意这个问题,具体的资料可以参考 Daylight Saving。Technorati Tags: timezones,时区,夏令时参考资料:
php程序的时区设置是web服务器安装的时候应该设置好的,但是如果你把网站放到国外的话,一般环境默认的是当地的时区,而你网站内容需要显示的是我们国内的时区,这时候就应该修改设置下时区了,下面介绍几种PHP设置时区的几种方法:
1、修改PHP.ini设置时区
在php.ini文件中找到date.timezone这行,去掉前面的分号,改成:
date.timezone = Asia/Shanghai
2、修改 .htaccess文件设置时区
修改.htaccess文件有两种办法,下面的两条语句只要有一条即可
php_value date.timezone Asia/Shanghai
SetEnv TZ Asia/Shanghai
3、修改PHP代码设置时区
也是下面的两条语句只要其中的一句即可
date_default_timezone_set(‘Asia/Shanghai’);
ini_set(‘date.timezone’,'Asia/Shanghai’);
通过上面的设置修改,一般就可以设定会我们国内的时区,显示正确的时间了。
1、首先在电脑上创建一个index.php文件,编辑index.php。
2、然后输入获取当天零点的时间戳,输入代码$today = strtotime(date("Y-m-d"),time());$time = strtotime($today);//获取到echo $time."br /";//输出。
3、获取当天24点的时间戳$todayEnd = $today+60*60*24;//家一天的时间echo $time = strtotime($todayEnd)."br /";//输出。
4、获取前一天时间echo date("Y-m-d H:i:s",strtotime("-1 days"));。
5、以上即时间戳和前一天时间的获取。主要是对date()和strtotime()函数的灵活使用,就可以了。
date_default_timezone_set("Etc/GMT").:是格林威治标准时间,得到的时间和默认时区是一样的
ate_default_timezone_set("Etc/GMT+8");比林威治标准时间慢8小时,
date_default_timezone_set("Etc/GMT-8");东八区,我们比那快8小时所以减8
或者使用:date_default_timezone_set('PRC')设置中国时区