2017-09-23 114 views
0

我有一个像下面两个时间值:如何在php中查找两个时间值的中间值?

$ A = 22:15

$ B = 28:50

28:50将意味着上午4点50

我如何找出这两个时间值的中间值?在简单的数学,这将是象下面这样:

$ C =($ $ B- A)/ 2

*(下面线编) 回波$ C + $一个;

当然这不是那么简单,我做了谷歌和到处搜寻,但徒劳无功。

由于一吨提前!

+0

难道这些字符串或时间戳? –

+0

将它们转换为分钟或秒,执行简单的数学平均值,并转换回你所需要的格式。 – Calimero

+0

你解决了问题吗? – VK321

回答

1

我会强烈建议你用timestamps工作。 然后,你可以简单地做到以下几点:

// Assuming $b and $a as timestamps 
$c = ($b-$a)/2; 
echo date('H:i', $c); 
+0

所以,你的意思是,我的日期值增加时,将其转换成UNIX的时间戳,然后做计算的,对不对?我会尝试这个伴侣,谢谢! – Beginner

+0

这将是最好的忽略时间的字符串,并使用时间戳,而不是只要你能。这可能会帮助你:[php日期时间参考](http://php.net/manual/en/ref.datetime.php)。 –

0

我一点都没有在过去5年中任何代码,但是,我很高兴,我能与你们的帮助下实现代码..在这里下面的代码我一直在寻找:

<? 
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); 
?> 

<form action="" method="post"> 
Date-Time 1: <input type="text" name="time1"><br> 
Date-Time 2: <input type="text" name="time2"><br> 
<input type="submit"> 
</form> 


<? 

if (!empty($_POST)) 
{ 

$time1 = $_POST["time1"]; 
$time2 = $_POST["time2"]; 

// echo $time1 . "<br>"; 

$utime1 = strtotime($time1); 
$utime2 = strtotime($time2); 

$temp = $utime2 - $utime1; 
$temp = $temp/2; 

$MidTime = $utime1 + $temp; 


echo "Time 1: " . $time1 . "<br>"; 
echo "Time 2: " . $time2 . "<br><br>"; 

echo "U-Time 1: " . $utime1 . "<br>"; 
echo "U-Time 2: " . $utime2 . "<br><br>"; 

echo "UTime-2 minus UTime-1 in Unix: " . $temp . "<br><br>"; 


echo "Mid Time: " . gmdate("Y-m-d H:i:s ", $MidTime); 

} 


?> 

enter image description here

相关问题