使用日期引用计算两个值之间的值

时间:2016-05-19 22:33:22

标签: php datetime

好的,这就是我想要实现的目标。我试图返回给定dateTime对象的温度的粗略估计。

我知道:

  • 于2016-05-19 09:00:00温度为4°C
  • 于2016-05-19 12:00:00温度为8°C

我想基于日期范围两边的两个温度,知道上面显示的给定日期时间对象的温度近似值。

不知道从哪里开始,所以欢迎任何帮助!

2 个答案:

答案 0 :(得分:2)

如果我们假设两个数据点之间有一条直线,那么:

渐变是

 g:=   (Temp2-Temp1) / (Time2-Time1)

我们假设所有(温度,时间)点都是如此。 如果你想在Time3找到温度Temp3

(Temp3-Temp1) / (Time3-Time1) = g

Temp3-Temp1 = (Time3-Time1) * g

Temp3 = Temp1 + (Time3-Time1) * g

你们小孩不再学习代数吗? ; - )

(我希望我能够将其格式化为数学)

答案 1 :(得分:0)

基于@ leif-netland回答最终的工作代码示例供参考:

$time1 = (new dateTime())->format('YmdHis');
$temp1 = 4;

$time2 = (new dateTime())->modify('+2 hours')->format('YmdHis');
$temp2 = 8;

$time3 = (new dateTime())->modify('+1 hours')->format('YmdHis');

$gradient = ($temp1-$temp2) / ($time1 - $time2);

$temp3 = $temp1 + ($time3 - $time1) * $gradient; // 6