mark
一、最方便
echo strtotime('23:59:59') - time();
二、最快
先说结论:
echo 86400 - (time() + 28800) % 86400;
用86400减去今天已经过去了多少秒,即可求得今天还剩多少秒。
86400=24*3600,即一天的总秒数。
28800=8*3600,即8个小时的总秒数。
当前时间戳取模86400并不是今天已经过去了多少秒,因为时间戳起始时间并不是0点,而是8点整。所以,如果当前是早上8点整,取模86400后会等于0,与我们的本意不符(求今天已经过去了多少秒)。
因此,要用当前时间戳加上8个小时的总秒数后再取模86400,即可求得今天过去了多少秒。
结论是由:
86400 - (time() + 8 * 3600) % 86400
简化后得到的。
REF
https://segmentfault.com/a/1190000019844608