php 中 date() ,输出时间不对的问题。

2016-04-05 19:42:52 +08:00
 sunsh217

php.ini 中的设置:

[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = PRC

写的测试函数:

3246 次点击
所在节点    问与答
15 条回复
sunsh217
2016-04-05 19:45:01 +08:00
好象吞文字啊,真不好,再复述一次。

php.ini 中的设置:

[Date]
date.timezone = PRC

测试函数:
<?php
ini_set('date.timezone', 'Asia/Shanghai');
echo date("Y-m-d His");
echo "\r\n";
echo exec('date');


输出:
[root@Laravel ~]# php test.php
2016-04-06 104615
Tue Apr 5 19:46:15 PDT 2016

总是不对,时间上差好多,为什么?
sunsh217
2016-04-05 19:45:26 +08:00
求解答。
sunsh217
2016-04-05 19:50:56 +08:00
有人解答吗?
msg7086
2016-04-05 20:43:30 +08:00
有你这样发帖 10 分钟不到就来催回复的吗?
而且你这时间不是完全正确吗?中国时间的 10:46 难道不是太平洋时间的 19:46 ?
liuhaotian
2016-04-05 20:54:30 +08:00
@msg7086 2333 而且有人来解答了十分钟内不感谢🙈
你这个情况是系统的时间没有设置好时区吧?
liuhaotian
2016-04-05 20:54:30 +08:00
@msg7086 2333 而且有人来解答了十分钟内不感谢🙈
你这个情况是系统的时间没有设置好时区吧?
skydiver
2016-04-05 20:55:48 +08:00
难道时区不应该写 Asia/Shanghai 么
yangqi
2016-04-05 21:17:41 +08:00
你系统时区是 PDT 你知道么?
sunsh217
2016-04-05 21:44:33 +08:00
@yangqi 解决了,你是对的, PDT 时区是个错误的选择,纠正就对了。
@msg7086 不懂不要装懂。
@skydiver 两种写法都可以。

正确的解决办法。 PDT 是 Pacific Daylight Time , 太平洋夏令时间,这个时区是不对的,
解决方案是:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime, 覆盖之,即可转成本地时间。这个本地时间( Asia/Shanghai),被称为
中国标准时间 CST ( China Standard Time )
转换关系 : GMT + 8 = UTC + 8 = CST
其它两个时间解释如下:
GMT(Greenwich Mean Time ,格林威治标准时间): 是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。
UTC(Universal Time/Temps Cordonné 世界标准时间)

之后,用 date -s " your specified time" 即可。

现在命令的输出正确了:
[root@Laravel Asia]# date -R
Tue, 05 Apr 2016 21:44:19 +0800 //+0800, 即是东八区,也就是 GMT 时间+8 小时
[root@Laravel Asia]# date
Tue Apr 5 21:44:30 CST 2016 // CST 时间,即是中国标准时间。

Resolved!
cszchen
2016-04-05 21:50:19 +08:00
还敢说别人不懂,真是醉了
b821025551b
2016-04-05 21:58:54 +08:00
说别人不懂。。。别给 PHPer 丢脸了,看的我都脸红了。。。
sunsh217
2016-04-05 22:24:03 +08:00
@b821025551b 你脸继续红吧,没人搭理你。最好你屁股也红掉。
msg7086
2016-04-06 05:11:40 +08:00
这里不欢迎没有知识也没有礼貌的人。
我在美国西部生活了很多时间,我知道 PDT 是美国西部,而且上面很多人都一眼就看出来了。
如果你看不起别人,可以不要来问。如果你不懂,那就谦虚点。
sunsh217
2016-04-06 07:43:47 +08:00
@msg7086 说实话 我到目前为止 依旧不认为你读懂了我在问什么 我认为你懂 pdt 但读不懂题意 更不明白我在问什么 建议你重读题目 搞清楚我在问什么 再看看你答了什么 自然就明白为何我认为你没有理解我在说什么 另外 最先没礼貌的人好像是你自己
julyclyde
2016-04-06 15:08:57 +08:00
@sunsh217 你自己都没描述清楚,然后自己找到问题所在了,就开始指责别人
nikoukou
2016-04-07 07:42:58 +08:00
已 block 楼主

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/268769

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX