设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间08 现在时间08 缓存数据 生活如海,宽容作舟,泛舟于海,方知海之宽阔;生活如歌,宽容是曲,和曲而歌,方知生活甜美。早安

生活如海,宽容作舟,泛舟于海,方知海之宽阔;生活如歌,宽容是曲,和曲而歌,方知生活甜美。早安

查看: 1284|回复: 3

PHP设置时区

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:176
  • 打卡月天数:0
  • 打卡总奖励:2692
  • 最近打卡:2023-08-27 08:33:59
等级头衔

等級:晓枫资讯-上等兵

在线时间
33 小时

积分成就
威望
0
贡献
430
主题
484
精华
0
金钱
4233
积分
932
注册时间
2022-12-25
最后登录
2023-8-27

发表于 2022-12-30 11:48:56 | 显示全部楼层 |阅读模式
时间是生活中必不可少的,在 PHP 中也是一样,时间有时候要存储起来记录某件事情或者在浏览器中展示出来。

在 PHP 中是通过日期和时间函数来获取日期和时间的。日期和时间函数依赖于服务器的时间设置,服务器的时间设置默认是格林尼治时间(零时区时间),如果不特意设置时间为特定时区时间,那么通过 PHP 有关函数获取到的时间为零时区的时间,比北京时间少 8 个小时。
时区的划分全球分为 24 个时区,每个时区都有自己的本地时间,同一时间内各时区的本地时间相差 1~23 小时,如英国伦敦本地时间与北京本地时间相差 8 个小时。

在国际无线电通信领域,使用一个统一的时间,称为通用协调时间(Universal Time Coordinated,UTC),UTC 与格林威治标准时间(Greenwich Mean Time,GMT)相同。
PHP中的时区设置由于 PHP5.0 对 data() 函数进行了重写,所以目前的日期时间函数比系统时间少 8 个小时。PHP 语言默认设置的是标准的格林威治时间(即采用的是零时区),所以要获取本地当前的时间必须更改 PHP 语言中的时区设置。

在 PHP 中设置时区的方法有三种,下面来分别介绍一下。
1) 在配置文件中设置PHP 的配置文件就是在 PHP 安装目录下的 php.ini 文件,找到并打开它。然后在文件中搜索date.timezone,我们会看到如下所示的一段信息:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
其中;date.timezone =前面的;与 PHP 中的//功能相同,都是注释的意思,这里我们需要将这个;去掉,并在这一句的=后面填写对应的时区标识符,如下所示:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shangha
时区标识符有很多,可以通过访问“https://www.php.net/manual/zh/timezones.php”来查看,下面列举了一些常用的时区标识符及其含义:
  • Asia/Shanghai —— 上海
  • Asia/Chongqing —— 重庆
  • Asia/Urumqi —— 乌鲁木齐
  • Asia/Hong_Kong —— 香港
  • Asia/Macao —— 澳门
  • Asia/Taipei —— 台北
  • Asia/Singapore —— 新加坡
  • PRC —— 中国时区
提示:在国内的话我们将时区设置为“Asia/Shanghai 或者 PRC”都可以,设置成功之后记得重启一下服务器!
【示例】下面通过一段代码来验证一下我们的设置是否生效。



  1. <?php
  2.     echo date('Y-m-d H:i:s',time());
  3. ?>
复制代码
运行结果如下:
2020-03-26 09:56:52
如果运行结果与我们电脑的本地时间相等的话,就说明我们设置成功了。
2) 使用 ini_set() 函数设置时区PHP 中的 ini_set() 函数可以设置指定配置选项的值,这个配置选项会在脚本运行时保持新的值,并在脚本结束时恢复。函数的语法格式如下:
ini_set($varname, $newvalue)
其中 $varname 为待修改的配置选项,$newvalue 为配置选项的新值。
提示:ini_set() 函数并不能修改所有的配置选项,可以通过访问“https://www.php.net/manual/zh/ini.list.php”来查看可以修改的配置选项。
【示例】使用 ini_set() 函数设置时区。

  1. <?php
  2.     ini_set('date.timezone', 'GMT');
  3.     echo '当前的格林尼治时间为:'.date('Y-m-d H:i:s',time()).'<br>';
  4.     ini_set('date.timezone', 'Asia/Urumqi');
  5.     echo '乌鲁木齐的当前时间为:'.date('Y-m-d H:i:s',time()).'<br>';
  6.     ini_set('date.timezone', 'Asia/Shanghai');
  7.     echo '上海的当前时间为:'.date('Y-m-d H:i:s',time());
  8. ?>
复制代码
运行结果如下:
当前的格林尼治时间为:2020-03-26 02:37:31
乌鲁木齐的当前时间为:2020-03-26 08:37:31
上海的当前时间为:2020-03-26 10:37:31
3) 使用 date_default_timezone_set() 函数设置时区PHP 中的 date_default_timezone_set() 函数可以为脚本中的所有时间日期函数设置一个默认时区,其语法格式如下:
date_default_timezone_set($timezone_identifier)
参数 $timezone_identifier 为时区标识符,例如 UTC(格林尼治时间)或 Europe/Lisbon(葡萄牙)。

自 PHP5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息,如果使用系统设定或 TZ 环境变量则还会产生 E_STRICT 级别的信息。

【示例】使用 date_default_timezone_set() 函数设置时区。

  1. <?php
  2.     date_default_timezone_set('Asia/Urumqi');
  3.     echo '乌鲁木齐的当前时间为:'.date('Y-m-d H:i:s',time()).'<br>';
  4.     date_default_timezone_set('Europe/Lisbon');
  5.     echo '葡萄牙的当前时间为:'.date('Y-m-d H:i:s',time()).'<br>';
  6.     date_default_timezone_set('Asia/Shanghai');
  7.     echo '上海的当前时间为:'.date('Y-m-d H:i:s',time());
  8. ?>
复制代码
运行结果如下:
乌鲁木齐的当前时间为:2020-03-26 08:35:59
葡萄牙的当前时间为:2020-03-26 02:35:59
上海的当前时间为:2020-03-26 10:35:59

晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。

  离线 

TA的专栏

  • 打卡等级:偶尔看看
  • 打卡总天数:14
  • 打卡月天数:0
  • 打卡总奖励:196
  • 最近打卡:2025-04-15 16:58:56
等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
223
积分
30
注册时间
2023-1-7
最后登录
2025-4-15

发表于 2023-1-18 13:25:46 | 显示全部楼层
看看~~~~学习学习~~~~~
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
20
积分
20
注册时间
2022-12-25
最后登录
2022-12-25

发表于 2024-9-23 01:05:27 | 显示全部楼层
感谢楼主分享。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

  • 打卡等级:即来则安
  • 打卡总天数:21
  • 打卡月天数:0
  • 打卡总奖励:304
  • 最近打卡:2025-04-08 02:35:33
等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
341
积分
46
注册时间
2023-3-13
最后登录
2025-4-8

发表于 2025-3-17 11:13:21 | 显示全部楼层
顶顶更健康!!!
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼
4楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表