欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php时区设置方法总结

程序员文章站 2022-03-24 13:52:35
...
  1. function_exists(date_default_timezone_set);//在这他总是返回1,这函数是判断这里面的字符是不是一个定义了的函数名
  2. date_default_timezone_set("Etc/GMT");//这是格林威治标准时间,得到的时间和默认时区是一样的
  3. date_default_timezone_set("Etc/GMT+8");//这里比林威治标准时间慢8小时
  4. date_default_timezone_set("Etc/GMT-8");//这里比林威治标准时间快8小时
  5. date_default_timezone_set('PRC'); //设置中国时区
  6. ?>
复制代码

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

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

一些资料补充: 装上PHP5后你会发现这样的问题

  1. $atime=date("Y-m-d H:i:s");
  2. echo $atime;
  3. ?>
复制代码

输出:2006-05-16 06:36:06 现在几点了?/我的是14:36

原因是假如你不在程序或配置文件中设置你的服务器当地时区的话,PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入。 格林威治标准时间和北京时间大概差8个小时左右 那么我们如何避免时间误差呢?

解决方法: 在页头使用date_default_timezone_set()设置我的默认时区为北京时间

  1. date_default_timezone_set('PRC');
  2. echo date('Y-m-d H:i:s');
  3. ?>
复制代码

时间和服务器当前时间一样了! 另外附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