为什么我在php中用date()函数获取的时间老师与我电脑上显示的差8小时?

为什么我在php中用date()函数获取的时间老师与我电脑上显示的差8小时?,第1张

这是时区设置的问题
看看PHP手册的“例子 1 date() 例子”第一行多了一个 时区设置
// 设定要用的默认时区。自 PHP 51 可用
date_default_timezone_set(’UTC’);
原来php51开始,phpini里加入了datetimezone这个选项,默认情况下是关闭的,也就是显示的时间(无论用什么php命令)都是格林威治标准时间,和北京时间正好差8个小时。
如何设置可以得到正确的PHP时间。
1、修改phpini。打开phpini查找datetimezone 去掉前面的分号= 后面加Asia/Shanghai,重启apache服务器即可--缺点就是如果程序
放到别人的服务器上,不能修改phpini,那就奈何不得了。
2、在程序中添加时间的初始化的语句的 即:“date_default_timezone_set("Asia/Shanghai"); ”这个可以由程序员任意设置,我的推荐。
时区标识符,大陆内地可用的值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为中国,重庆,上海,乌鲁木齐) ,Etc/GMT-8,Asia/Harbin
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)

还有新加坡:Asia/Singapore
这样就可以实现输出的是北京时间了更详细的时区代码 时区编码 时区索引码 timezone_identifier 大家可以在官方网站中查到

我用公司电脑win10系统,一样加域 遇到同样问题,我在网络上看了很多相关解答,最终还是没有找到较满意的答案。但是我发现了我们公司加域后同步的时间正好比北京时间少了8小时,而且在“Internet时间”选项被关了后,还可以更改时区,所以索性就把时区更改成太平洋时间,正好把那8小时找回来。如果是精确到分秒,暂时也没找到解决的方法。共勉

你修改下个人资料所在时区没有效果吗?服务器系统那边是GMT8的话,与系统默认也是GMT8,后台前台修改都一样的,这个会员正常的话,就自己错的,DZ不会有这个问题吧,自己看看账号设置(+﹏+)~狂晕喂,站长,这个问题要好好解决一下。。。

这很正常!不过和服务器时间没有关系!假如说你服务器有一个文件最后修改时间是2010年1月1日,等你下载到本地,最后修改时间就会变成今天的日期!
如果实在想知道服务器用的time zone,你完全可以直接问技术支持或自己写一个脚本去获取!
FTP客户端显示的最后修改时间是假象,也就是根据你本地的时间已经做了时间的相对变动,其实文件在服务器上显示的最后修改时间还是根据服务器的time zone显示的!

分析:如果电脑开机后进入bios时间总是慢8个小时,说明系统时间错乱,则很可能是主板电池失效,甚至是主板时间晶振损坏。也不排除病毒感染所致或者系统时区设置错误。
处理:
1、先检查系统时区设置是否正确,并运行360安全卫士和360杀毒对硬盘进行全盘查杀,排除系统设置错误和病毒感染之后再进行以下 *** 作。
2、去电子商店购置一块CR2032电池,替换掉主板上的电池,再开机按DEL键进入CMOS(笔记本一般按F2或其它屏幕提示的热键),装载预定义选项(按F9或选择包含LOAD单词的那行),再按F10键保存按Y键确定退出重启。
3、如果以上 *** 作无效,则可能是主板晶振损坏。则需要更换主板,或者搜索下载网络校时工具设置每天开机自动校时或手工校时。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13192008.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-18
下一篇 2023-06-18

发表评论

登录后才能评论

评论列表(0条)

保存