2017-03-14 119 views
1

我有两个格式为H:i:s的值存储在一个变量中。我从wordpress中的表单字段获取字段。这些值是开始时间和结束时间。我需要的是存储在变量中的这两个字段的差异,也是H:i:s格式。这怎么可能?计算H中两个值的差值:i:s格式

我的变量:

$starttime  = get_field('contest_starttime', $post_id); 
$endtime  = get_field('contest_endtime',$post_id); 
+0

格式为H:我:■ – Peesen87

+0

你一定要尝试的东西。一个非常天真的方式是使用数学,将它们转换为秒,减去并转换回H:i:s。你甚至尝试过什么吗? –

回答

0

您可以使用strtotime这个

+0

确实,他们可以:)但是你应该改善你的答案,以实际显示*他们怎么做到的! –

2

首先你需要将它们转换为\DateTimeImmutable然后计算出的差异,为\DateInterval然后格式化该区间,如下所示:

$start = \DateTimeImmutable::createFromFormat('H:i:s', '10:20:30'); 
$end = \DateTimeImmutable::createFromFormat('H:i:s', '5:10:20'); 

$diff = $end->diff($start); 

var_dump($diff->format('%H:%i:%s')); 

会打印:

string(8) "05:10:10" 

看直播here