PHP中设置时区方法小结

yipeiwu_com5年前PHP代码库
找到原因后,在网上搜索到了一些关于PHP的时区设置方法:

1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置data.timezone = “Asia/Shanghai”;即可。

2、在程序PHP 5以上版本的程序代码中使用函数ini_set('date.timezone','Asia/Shanghai');或者date_default_timezone_set(‘Asia/Shanghai');

一些常用的时区标识符说明:

Asia/Shanghai – 上海
Asia/Chongqing – 重庆
Asia/Urumqi – 乌鲁木齐
Asia/Hong_Kong – 香港
Asia/Macao – 澳门
Asia/Taipei – 台北
Asia/Singapore – 新加坡


函数设置时区方法:
复制代码 代码如下:

<?php
function_exists(date_default_timezone_set);//在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名
date_default_timezone_set("Etc/GMT");//这是格林威治标准时间,得到的时间和默认时区是一样的
date_default_timezone_set("Etc/GMT+8");//这里比林威治标准时间慢8小时
date_default_timezone_set("Etc/GMT-8");//这里比林威治标准时间快8小时
date_default_timezone_set('PRC'); //设置中国时区
?>


函数ini_set()设置时区:
可以在文件开头加入 ini_set('date.timezone','Asia/Shanghai'); // 'Asia/Shanghai' 为上海时区

手动修改php.ini设置
打开php找到date.timezone = "PRC" 如有去掉前面的分号,没有的话手动添加!

以下是一些资料补充:

装上PHP5后你会发现这样的问题

$atime=date("Y-m-d H:i:s");
echo $atime;
?>
输出:2006-05-16 06:36:06
现在几点了?/我的是14:36
这是为什么捏?
原因是假如你不在程序或配置文件中设置你的服务器当地时区的话
PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入
格林威治标准时间和北京时间大概差8个小时左右 那么我们如何避免时间误差呢?
我们一起来看看解决方法:
在页头使用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 参数不合法)。
-------------------------------------------------------------------------------------
或者修改 php.ini 中 date.timezone 值
date.timezone = PRC

装上PHP5后你会发现这样的问题
$atime=date("Y-m-d H:i:s");
echo $atime;
?>
输出:2006-05-16 06:36:06
现在几点了?/我的是14:36
这是为什么捏?
原因是假如你不在程序或配置文件中设置你的服务器当地时区的话
PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入
格林威治标准时间和北京时间大概差8个小时左右 那么我们如何避免时间误差呢?
我们一起来看看解决方法:
在页头使用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 参数不合法)。
-------------------------------------------------------------------------------------
或者修改 php.ini 中 date.timezone 值
date.timezone = PRC

相关文章

PHP分享图片的生成方法

PHP分享图片的生成方法

最近工作需求需要生成分享图片,最初用js的html2canvas截图插件各种问题,后来干脆PHP的PG库在后台生成图片,很愉快的解决了各种问题,我们要实现的效果如下图: 假设代码中用到...

PHP实现仿Google分页效果的分页函数

本文实例讲述了PHP实现仿Google分页效果的分页函数。分享给大家供大家参考。具体如下: /** * 分页函数 * @param int $total 总页数 * @par...

PHP 函数学习简单小结

file_exists() 检查文件或目录是否存在    说明    bool file_exists ( string filename )    如果由 filename 指定的文件...

php开发过程中关于继承的使用方法分享

继承 通常需要这样一些类,这些类与其它现有的类拥有相同变量和函数。实际上,定义一个通用类用于所有的项目,并且不断丰富这个类以适应每个具体项目将是一个不 错的练习。为了使这一点变得更加容易...

phpstorm 正则匹配删除空行、注释行(替换注释行为空行)

phpstorm 正则匹配删除空行、注释行(替换注释行为空行)

使用phpstorm 来编写php 和javascript 代码,感觉还是不错的,用得也很舒服。 遇到了一个需求,有时候在阅读框架源代码的时候 , 想过滤(删除)掉源代码中的注释行,如果...