php与时区设置那破事
时间:2008-11-03
来源:互联网
php下获取时间的函数是:date,当使用date('H')的时候,你就会发现,php会显的时间和你电脑时间相差8小时(除非你不在中国或灵异事件)。为啥呢?难道是php发痴?怎么可能?php可是好东西啊,怎么会发痴呢?
等等,8小时,8小时诶。想到啥了?不会吧?不是吧?难道是传说中的每天工作时间限定8小时?想得美!咱这的兄弟,有哪一个工作时间是8小时的?对了,8小时时差,俺们是在东八区(不知道自己是东八区的回去找初中的小弟弟求教去,不知道时区划分的,自己顺便也去查查资料)。
那么修正呢?哈哈,是不是只要把date('H')的显示+8就行了。我X,你脑抽啊,你是八小时了,要是美国人一看?恩,怎么时间不对啊?难道一个个改啊。
我们自然有好办法啦,查到时区的资料了吧?顺便看看php.ini(不知道在哪?你Y的php环境怎么配的?告诉过你多少遍了,只相信手动配置),搜索一下"date.timezone",哈哈,知道了吧?date.timezone就是用来设置时区的,so,后面怎么赋值呢?"GMT+8"?不对,标准的写法是:"Etc/GMT+8",设置一下,重启apache(为啥重启?晕了~~),重新看看,?怎么时间又少了8小时?。。。这个似乎就是php的问题了,咋在东八区,一般都是写作+8的,可是呢,可是呢,php认为东是-,西是+(为啥?俺也不知道,问php),so 改成"Etc/GMT-8"就行了,记得要重启apache啊。
麻烦不?每次改都要重启apache不说,而且你还不一定有改php.ini的权限(啥?你有自己的服务器?牛,俺只能用用虚拟主机。。)。php也考虑到这一点,因此在php运行时可以设置"date.timezone",函数是"date_default_timezone_set",对应的"date_default_timezone_get"能得到当前运行的php的设置时区。好了,在你需要设置时间的代码前调用date_default_timezone_set("Etc/GMT-8");就行了,哈哈。
有人说了,咋不一定使用时区啊,使用地点也行啊,行,你在http://cn2.php.net/manual/zh/timezones.php就查到所需要的地区设置,好,我告诉你,中国大陆有三个可以选择
Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次是:重庆,上海,乌鲁木齐。其实都一样,都是东八区的,为啥没有北京?不知道。)
那代码可以写成date_default_timezone_set("Asia/Shanghai");哈哈。显示正常了,唉。写到这里,我就想到了asp,asp虽然烂,不过因为只能运行于windows,所以获取时间还是不需要这样设置的。php为了兼容Linux/Windows外加处于某种考虑(啥考虑?鬼知道)。才这样了,不过这样不错,因为这样,才有这篇文章嘛。哈哈
作者: syb328 发布时间: 2008-11-03
作者: 0hudu 发布时间: 2008-11-03
作者: syb328 发布时间: 2008-11-04
作者: niceup 发布时间: 2008-11-05
80%是废话

作者: shanji 发布时间: 2008-11-05

作者: xieaotian 发布时间: 2008-11-05

作者: kuhanzhu 发布时间: 2008-11-05


作者: 温柔的大海 发布时间: 2008-11-05
作者: ly5 发布时间: 2008-11-05
适合讲课拖时间。
作者: myBe 发布时间: 2008-11-05
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28