时差计算

时间:2012-12-20 11:12:13

标签: php time strtotime date-arithmetic

这让我疯狂。

$now = time ();现在给我时间戳。

问题:

确实:$today = strtotime(date("Y-m-d"));给我今天几秒钟的时间戳?从00:00开始?

我一直试图通过将$now$today后经过的总秒数相减来自己回答,但我得到了完全不同的数量。

修改

我今天要来了:

1355961600

现在:

1356002627(自我发布以来每秒+1秒)

由于差异非常小,我认为应该是这样,但是当我试图计算自己时,我得到的数量并不相同。可能是我的本地主机时间和实时时间之间的差异...你们认为这是它吗?

3 个答案:

答案 0 :(得分:1)

它将给出从1970年1月1日00:00:00 UTC到今天(当前时间)的秒数。

编辑:看看Bart Friederichs的回答,这两个函数都做了别的事。

答案 1 :(得分:1)

你的字符串$today给你的是Y-m-d的时间戳,而不是Y-m-d,H:i:s。

如果你想计算从今天早上起的秒数,比如说早上8点。

$iNow = time();
$iFrom = strtotime(date('20-12-2012, 08:00:00'));

echo $iFrom - $iNow . ' seconds have past.';

答案 2 :(得分:1)

(现在是12:15):

php > echo time() - strtotime(date("Y-m-d"));
44116
php > echo 44116 / 3600;
12.254444444444

PHP 5.3.10,在Ubuntu 12.04上

time()将提供从Unix Epoch(1970年1月1日00:00:00 UTC)到“现在”的秒数。 strtotime(date("Y-m-d"))将提供从Unix Epoch到今天早上00:00:00的秒数。减去那些,你得到今天经过的秒数。