linux时间和php输出时间戳的时间不对等

2013-05-05 23:08:02 +08:00
 h2sky
linux上时间显示是Sun May 5 22:52:31 CST 2013
php上输出的时间戳大概是 1367764641
差不多差8小时

php.ini 里设置了 date.timezone= PRC
即使在php里加上date_default_timezone_set('PRC');
重启了php-fpm后的时间戳也一样差8小时

而输出date();就正常,出了什么问题?
6220 次点击
所在节点    问与答
9 条回复
wzxjohn
2013-05-05 23:14:11 +08:00
谁教你date.timezone= PRC和date_default_timezone_set('PRC');的。。。。。。。。。。。。。。。
中国区是这么表示的么。。。。。。。。。
Asia/Shanghai
这才是我们所使用的时区的表示方式。。。
date.timezone = Asia/Shanghai
h2sky
2013-05-05 23:17:00 +08:00
@wzxjohn 网上教我的,PRC 是中国的意思
wzxjohn
2013-05-06 08:13:54 +08:00
@h2sky 我知道PRC是The People's Republic of China,但是在时区的表示方法里从来没有用PRC表示中国一说。你用我教你的试试应该是正确的了。
GordianZ
2013-05-06 08:23:12 +08:00
@h2sky
网上教你的?你上的网不对。
http://php.net/manual/en/timezones.php
另外别人告诉你答案,请表示基本尊重,互联网也有礼节。
raptium
2013-05-06 08:41:07 +08:00
不是时区问题吧
timestamp 是 unix epoch 到现在的秒,unix epoch 是 GMT 时区的,这和本地时区无关
楼主的时间戳算起来本就是北京时间 22点多
rrfeng
2013-05-06 08:46:54 +08:00
1. 时间戳跟时区无关,1367764641 是从某个时间点到你执行命令的时候的秒数
2. date 执行完默认输出的是『当地时间』,跟时区有关。 date +%s 输出时间戳的话跟php肯定是完全一致的。

[时间戳差8小时] 这种说法是不对的~

差8小时肯定是指定时区的问题,php官网会有你想要的答案。
millson
2013-05-06 08:57:17 +08:00
@GordianZ 楼主哪里没有礼节了?
fork3rt
2013-05-06 09:05:55 +08:00
改为 Asia/Shanghai ..
h2sky
2013-05-06 12:51:42 +08:00
chrome开发工具显示的cookie是显示GMT时间没有+8


@GordianZ 只是回答了别人的询问,没有不礼貌的意思,每个有价值的回答我都会发送感谢

@rrfeng @raptium 正解,时间戳直接输出GMT时区

@millson 感谢理解

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

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

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

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

© 2021 V2EX