是否有一种简单的简单方法可以找出某个日期时间午夜过后的秒数?不是现在离开的那几秒钟,那天过去的秒数
例如:
2015-04-10 00:00:00
应该返回0
2015-04-12 09:20:00
应该返回33600
2015-04-14 15:20:00
应该返回55200
有一个很好的简短方法吗?
答案 0 :(得分:1)
一天是24小时是60分钟是60秒是1000毫秒,所以时间戳%(24 * 60 * 60 * 1000)可以工作,也许,至少如果你在与epoch php相同的时区使用(或任何你的时间戳来自)。它至少可以用于对准确性要求太高的事情。 PHP使用你的系统时间,所以许多事情都会打破这个想法(改变时钟,DST,闰秒等)
我个人会使用时间戳 - startofday时间戳,而是使用语言日历计算。
答案 1 :(得分:1)
这是一个简单的代码。
任何日期代码
<?php
$date = "2015-04-12 09:20:00";
$midnight = strtotime(date("Y-m-d 00:00:00", strtotime($date)));
$now = strtotime($date);
$diff = $now - $midnight;
echo $diff;
?>
当天代码
<?php
$midnight = strtotime("midnight");
$now = date('U');
$diff = $now - $midnight;
echo $diff;
?>
使用strtotime("midnight", <EpochTime>);
<?php
$date = "2015-04-12 09:20:00";
$midnight = strtotime("midnight", strtotime($date));
$now = strtotime($date);
$diff = $now - $midnight;
echo $diff;
?>