2012-04-08 87 views
2

请考虑这一点。在我的服务器,我转换(UTC/GMT)TIMESTRING这样的:转换服务器上的时间戳在PHP和MySQL中给出了不同的结果

strtotime('Fri Feb 18 21:08:38 +0000 2011') 

我的服务器返回

1298063318 

这是正确的,因为我测试了所有unixtimestampconverters,返回相同的。反之亦然,如果我插入的不是日期而是时间戳,我会返回上面给出的时间字符串。 ,如果将我的服务器上的时间戳:

date("Y-m-d H:i:s", 1298063318); 

我得到一个不同的日期比预期(即 '周五02月18日21时08分38秒+0000 2011'):

2011-02-18 22:08:38 

因此它关闭了一个小时。这可能是因为我的服务器时区设置在欧洲/巴黎,因此它将时间戳转换为UTC/GTM + 1.但是,MySQL运行在同一台服务器上并具有相同的时区,这给我带来了另一个结果:

SELECT FROM_UNIXTIME(1298063318) = 2011-02-18 22:08:15 

换句话说,它是关闭18秒。有人可以解释为什么吗?

回答

相关问题