【发布时间】:2010-12-04 05:50:01
【问题描述】:
【问题讨论】:
-
最初问一个(相对)很久以前:stackoverflow.com/questions/11/how-do-i-calculate-relative-time ;-)
标签: php relative-date
【问题讨论】:
标签: php relative-date
我还没有看到代码库,但我认为它会类似于(伪代码,因为我对 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 天),因为它只是一个近似值。
【讨论】:
这是 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";
}
【讨论】: