2017-05-03 73 views
-3
echo strtotime('2017-05-03 16:16:01'); 
echo "<br>"; 
echo time(); 

我跑这个查询在2017年5月3日16时28分01秒左右的时间输出()应该是更高的strtotime('2017-05- 03 16:16:01');应该更低,但我没有得到输出。PHP:的strtotime()和时间()显示不同的时间戳记

上面的代码打印

1493828161 
1493809172 // 

但我希望,如果我在2017年5月3日16时02分01秒同一时刻

1493809172 
1493809172 

运行查询,打印,但它有很大的打印区别。

+0

[time](http://php.net/time):返回** curr ent ** Unix时间戳 – hassan

+0

当然它们是不同的。 'time()'是当前时间,即5月3日。你的strtotime()是5月1日。 – Qirel

+0

第一个输出是可以的,因为'strtotime('2017-05-01 16:02:01');'这将打印当前时间戳和'时间'输出当前时间戳 –

回答

0

time()返回动态当前时间戳,它会随时改变。

您的传递日期是静态日期,它会将其转换为其timestamp()值,并将显示它。

结论:time()是不能停止的,它在时间经过时运行,而给定日期时间的时间戳,它将始终显示给定日期时间的静态值时间戳。

0

的strtotime( '2017年5月1日16时02分01秒')

  1. 转换提供的时间到字符串时

时间()

  1. 那转化为以Unix时间戳返回当前时间