如何从午夜开始经过几秒钟

Nub*_*ake 17 php

使用PHP如何获得自当天午夜起经过的秒数?

我现在所做的就是:

$hour=substr(date("h:i:s"),0,2);
$minute=substr(date("h:i:s"),3,2);
echo $hour."\r\n";
echo $minute."\r\n";
Run Code Online (Sandbox Code Playgroud)

...但它没有返回响应的正确服务器时间,我不知道该怎么做.

nok*_*oko 28

这应该工作.

echo time() - strtotime("today");
Run Code Online (Sandbox Code Playgroud)

这只会显示您的服务器时区.


Wra*_*orn 18

最简单的我认为将当前时间(以秒为单位)除以一天中的秒数(60*60*24)并取余数:

(time() % 86400)
Run Code Online (Sandbox Code Playgroud)

  • 很好,但它会计算午夜*UTC*后的秒数,而不是当地时间 (2认同)
  • 确实,它在 GMT/UTC 中使用 Linux 纪元——我猜这对我来说从来都不是问题,因为我无论如何都使用 UTC。 (2认同)
  • "我将在午夜蜂蜜回家"*另一端喋喋不休*,"不,亲爱的,我呃,意思是午夜*UTC*!" ;) (2认同)

Ale*_*aut 5

如果您使用的是日期时间:

 $timeDiff = $time->diff(new \DateTime("today")); 
 $timeDiffSec = $timeDiff->h* 3600 + $timeDiff->i*60 + $timeDiff->s;
Run Code Online (Sandbox Code Playgroud)