在下面的函数中,可能的输出是
1 day and 2 hours and 34 minutes
我的问题是如何编辑内爆,使其输出
1 day, 2 houts and 34 minutes
这是我的功能
function time_difference($endtime){
$hours = (int)date("G",$endtime);
$mins = (int)date("i",$endtime);
// join the values
$diff = implode(' and ', $diff);
if (($hours == 0 ) && ($mins == 0)) {
$diff = "few seconds ago";
}
return $diff;
}
像这样?
function implodeEx($glue, $pieces, $glueEx = null)
{
if ($glueEx === null)
return implode($glue, $pieces);
$c = count($pieces);
if ($c <= 2)
return implode($glueEx, $pieces);
$lastPiece = array_pop($pieces);
return implode($glue, array_splice($pieces, 0, $c - 1)) . $glueEx . $lastPiece;
}
$a = array('a', 'b', 'c', 'd', 'e');
echo implodeEx(',', $a, ' and ');
我会这样做:
if ($days) {
$diff .= "$days day";
$diff .= $days > 1 ? "s" : "";
}
if ($hours) {
$diff .= $diff ? ", " : "";
$diff .= "$hours hour";
$diff .= $hours > 1 ? "s" : "";
}
if ($mins) {
$diff .= $diff ? " and " : "";
$diff .= "$mins minute";
$diff .= $mins > 1 ? "s" : "";
}
有很多地方可以使用x-time-ago函数。这里有两个PHP版本。