Php TimeAgo-年前和月前

Php TimeAgo-年前和月前,php,datetime,Php,Datetime,我的unixtime是1336608000 正好是2012年5月10日 1年10个月前,从今天起-2014-03-06 现在我想做的是一年前和一个月前的输出。所以我想展示: 1年10个月前。 我在Stackoverflow和整个互联网上看到的大多数timeAgo函数都显示时间为“2年前”,这是错误的。我尝试了8-10个php函数来显示准确的月份计数 所以我的问题是,是否有一个php time ago函数可以显示准确的年和月计数,而不是将其四舍五入 谢谢我找到了,它工作得很好 我为你调整了它 用法

我的unixtime是
1336608000

正好是2012年5月10日

1年10个月前,从今天起-2014-03-06

现在我想做的是一年前和一个月前的输出。所以我想展示:

1年10个月前。

我在Stackoverflow和整个互联网上看到的大多数timeAgo函数都显示时间为“2年前”,这是错误的。我尝试了8-10个php函数来显示准确的月份计数

所以我的问题是,是否有一个php time ago函数可以显示准确的年和月计数,而不是将其四舍五入

谢谢

我找到了,它工作得很好

我为你调整了它

用法:回声时间\u经过\u字符串('2012-5-10',真)

function time_elapsed_string($datetime, $full = false) {
    $now = new DateTime;
    $ago = new DateTime($datetime);
    $diff = $now->diff($ago);

    $diff->w = floor($diff->d / 7);
    $diff->d -= $diff->w * 7;

    $string = array(
        'y' => 'year',
        'm' => 'month',
    );
    foreach ($string as $k => &$v) {
        if ($diff->$k) {
            $v = $diff->$k . ' ' . $v;
        } else {
            unset($string[$k]);
        }
    }

    if (!$full) $string = array_slice($string, 0, 1);
    return $string ? implode(', ', $string) . ' ago' : 'just now';
}

因为你似乎不想自己做这项工作,这是一个库/工具请求,这是离题的。我想你误解了我的意思。我不是一个很好的PHP开发人员。恐怕这不会改变这个网站的功能。请在发布之前阅读常见问题解答,尽管在发布近4年后,您应该知道这既不是图书馆推荐网站,也不是代码生成器,也不是留言板/论坛。