如何找到两个时间戳之间的百分比


how to find percent between two timestamps

大家好!)我怎样才能得到unix时间戳之间的百分比(我需要将它用于我的进度条)

例如我有1303248948和1303252200。我怎样才能知道百分之百之外的百分之几呢?

所以我的进度条可以不断地改变宽度当第一个时间戳接近第二个时间戳。

所以它将是:width="1%"和width="2%"以此类推,直到宽度达到100%。

希望有人能帮助我!: -)

实际上,您需要3个时间戳:

起始图章,当前图章(进度),完成图章

我假设当前戳记是当前的time()

$begin= strtotime('-2 weeks');
$now = time();
$end = strtotime('+2 weeks');
$percent = ($now-$begin) / ($end-$begin) * 100;

注意:在上面的例子中,$percent应该是50%

这实际上是一个相当简单的范围映射问题。给定值t在[a, b]范围内,您需要将其映射到范围[c, d]中的等效值。

首先要将t映射到[0,1]

范围内

x = (t - a)/(b - a)

第二,你需要将值x映射到范围[c, d]

t' = x * (d - c) + c

这实际上是一个非常方便的通用方程,我经常用它来解决各种问题,记住如何构造它真的很方便。