PHP中设置时区方法小结
程序员文章站
2022-04-28 15:43:03
找到原因后,在网上搜索到了一些关于php的时区设置方法: 1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置data.t...
找到原因后,在网上搜索到了一些关于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
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
上一篇: php4与php5的区别小结(配置异同)
下一篇: 根据参数优化Nginx服务性能