0

可能重复:
我如何计算相对时间?

它显示 2 天、2 个月、1 年等。

怎么做?

4

2 回答 2

2

我还没有看到代码库,但我认为它会是这样的(伪代码,因为我对 PHP 的了解与对白犀牛的交配习惯一样多):

string duration (n): // days
    if n >= 365 return str(int(n/365)) + " years"
    if n >= 30 return str(int(n/30)) + " months"
    if n >= 7 return str(int(n/7)) + " weeks"
    return str(int(n)) + " days"

如果您想要比一天更精细的分辨率(并允许"1 month"代替"1 months"),请调整传入的值和分母,您就可以开始了。

我不会太担心除法的不准确性(例如,平均每月大约有 30.44 天),因为它只是一个近似值。

于 2009-10-06T11:31:32.723 回答
-1

这是 Pax 伪代码的 PHP 版本:

function duration ($n){
    if ($n > 365) return ($n/365)." years";
    if ($n > 30) return ($n/30)." months";
    if ($n > 7) return ($n/7)." weeks";
    return $n." days";
}
于 2009-10-06T11:39:51.693 回答