PHP - 为什么time()返回的不同秒数比strtotime(date())

时间:2015-11-15 19:09:33

标签: php date datetime time strtotime

我发现这两个会返回不同的数字 - 但两者都应该给出一个时间戳。

strtotime( date("Y-m-d h:i:s") ); //currently 1447570497
time(); //currently 1447613697

差异恰好是12小时(43200秒),同样的事情发生在:

(new DateTime( date("Y-m-d h:i:s") ))->getTimestamp(); //acts like strtotime+date
(new DateTime("now"))->getTimestamp(); //acts like time()

为什么会这样? (因为它12小时可能不是夏令时问题)

这是24小时12小时模式吗?

1 个答案:

答案 0 :(得分:5)

您需要在H中使用date()才能在12点之后获得正确的时间。否则你将在1至12小时后离开。

strtotime( date("Y-m-d H:i:s") ); //currently 1447570497