考虑一下。在我的服务器上,我像这样转换(UTC/GMT)时间字符串:
strtotime('Fri Feb 18 21:08:38 +0000 2011')
我的服务器返回
1298063318
这是正确的,因为我测试的所有unix 时间戳 转换器都返回相同的结果。反之亦然,如果我插入的不是日期而是时间戳,我会返回上面给出的时间字符串。但是如果我在我的服务器上转换时间戳:
date("Y-m-d H:i:s", 1298063318);
我返回的日期与预期不同(即“Fri Feb 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 秒。有人可以解释为什么吗?