将时间戳舍入到第二天的午夜

时间:2013-07-19 14:14:44

标签: php date timestamp

考虑到时间戳,将该日期向上舍入到第二天最近午夜的最优雅解决方案是什么?

例如1374246685(19/07/13 10:11:25)将四舍五入为1374296400(20/07/13 00:00:00)。

2 个答案:

答案 0 :(得分:7)

DateTime可以做得很好: -

$midnight = (new \DateTime())->setTimestamp(1374246685)->modify('tomorrow');

See it working

PHP版本> = 5.4。

否则会是: -

$midnight = new \DateTime();
$midnight->setTimestamp(1374246685)->modify('tomorrow')->setTime(0, 0);

See it working

答案 1 :(得分:1)

比Pete的解决方案更优雅:

$tomorrowMidnight = strtotime('tomorrow');

查看http://www.php.net/manual/en/datetime.formats.relative.php - 你可以做很多花哨的事情:)