我正在实施一个应用程序,其中我必须显示从结束日期到开始日期的总小时的时差.假设我在时间戳中有开始日期和结束日期.那么我将如何获得总时数的日期差异?现在我使用下面的代码
$intervalo = date_diff(date_create(), date_create($end));
pr($intervalo);
Run Code Online (Sandbox Code Playgroud)
而输出就像
DateInterval Object
(
[y] => 0
[m] => 1
[d] => 4
[h] => 18
[i] => 41
[s] => 2
[invert] => 0
[days] => 34
)
Run Code Online (Sandbox Code Playgroud)
上面的代码显示了总小时数,结束日期大于1个月,它在数组中显示1米.但我只想要总小时数才能帮助我吗?提前致谢
不要用date_diff.将日期转换为时间戳(代表秒数),减去两者,然后除以3600.
$x = date_create();
$y = date_create($end)
$hours = ($y->getTimestamp() - $x->getTimestamp()) / 3600;
Run Code Online (Sandbox Code Playgroud)
如果你想要小时,分钟和秒:
$x = date_create();
$y = date_create($end)
$diff = ($y->getTimestamp() - $x->getTimestamp());
$seconds = $diff % 60;
$diff = (int)($diff / 60);
$minutes = $diff % 60;
$diff = (int)($diff / 60);
$hours = $diff;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
877 次 |
| 最近记录: |