0

重複の可能性:
PHP:タイムスタンプから相対的な日付/時刻を生成する

PHPコードの例を参照してください。

<?php

$now = date("Y-m-d H:i:s");  
$comment_added = date("2012-05-25 22:10:00");  

?>

出力として、次のようなものを取得したいと思います(コメントがいつ追加されたかによって異なります)。

Comment has been added 21 minutes ago.
Comment has been added 15 hours ago.
Comment has been added 2 days ago.
Comment has been added 3 months ago.
Comment has been added 4 years ago.

自動的に選択される関数を取得したいのですが。任意の例をいただければ幸いです。

4

2 に答える 2

1

Googleを使用したことがありますか?

http://css-tricks.com/snippets/php/time-ago-function/

于 2012-09-08T14:54:22.087 に答える
1

これは機能するはずです。

<?php

$now = date("Y-m-d H:i:s");  
$comment_added = date("2012-05-25 22:10:00");

$diff = strtotime($now) - strtotime($comment_added);
if ($diff > (365*24*3600)) {
    $type = 'year';
    $value = floor($diff / (365*24*3600));
} else if ($diff > (30*24*3600)) {
    $type = 'month';
    $value = floor($diff / (30*24*3600));
} else if ($diff > (24*3600)) {
    $type = 'day';
    $value = floor($diff / (24*3600));
} else if ($diff > 3600) {
    $type = 'hour';
    $value = floor($diff / 3600);
} else if ($diff > 60) {
    $type = 'min';
    $value = floor($diff / 60);
} else {
    $type = 'sec';
    $value = $diff;
}

$plurial = '';
if ($value > 1)
{
    $plurial .= 's';
}
echo "Comment added {$value} {$type}{$plurial} ago.";

?>
于 2012-09-08T15:00:14.927 に答える