Php 在给定时间戳之前获取午夜的时间戳
给定任何unix时间戳T,我想获取T之前午夜的时间戳 给定的时间戳可以是任何整数:现在、今天、将来(不太远[])或过去(不太远[]) 有没有更干净的方法(伪代码):Php 在给定时间戳之前获取午夜的时间戳,php,timestamp,Php,Timestamp,给定任何unix时间戳T,我想获取T之前午夜的时间戳 给定的时间戳可以是任何整数:现在、今天、将来(不太远[])或过去(不太远[]) 有没有更干净的方法(伪代码): Et-voila' <?php $midnight = strtotime(date('d-m-Y',$ts)); echo date('d-m-Y H:i:s',$ts); // output 03-11-2011 12:43:41 echo date('d-m-Y H:i:s',$midnight);
Et-voila'
<?php
$midnight = strtotime(date('d-m-Y',$ts));
echo date('d-m-Y H:i:s',$ts); // output 03-11-2011 12:43:41
echo date('d-m-Y H:i:s',$midnight); // ouput 03-11-2011 00:00:00
?>
我会按照你的意愿去做
$midnight = strtotime(date('Y-m-d',$ts).' 00:00:00');
…但这是否更干净/更好仍有争议…由于一整天是86400秒,您应该能够做到:
$midnight = $ts - $ts%86400;
但是,这不会考虑任何可能应用到UNIX时间戳的跳跃秒。
这将比使用strotime有更高的性能,但可能只有在大的紧密循环中才能起作用。谢谢。我担心通过Strotime的路线是唯一“务实”的方法。你的是其中最干净的。
$midnight = $ts - $ts%86400;