0

こんにちは、オンラインの投稿時間をカウントする方法を教えてください。私は広告のサイトを持っていることを意味します.広告が投稿されたオンライン時間をどのように計算できるかを数えたい.

2 日間の広告がオンラインになりました 3 日間の広告がオンラインになりました

ここに例があり ます http://www.buyandsell.ie/motors/classic-cars/kerry/head-gasket-sealer-3

このサイトでわかるように、オンライン時間は広告が掲載されてから 9 日です。

4

2 に答える 2

1

クリスマスに広告を投稿したとします。日付はmysqlにとして保存され2012-12-25ます。ここで、投稿された日数を表示します。このようなDateTimeDateIntervalクラスを使用します。

$d = DateTime::createFromFormat("Y-m-d", "2012-12-25");
$interval = $d->diff(new DateTime());
echo $interval->format("%a days"); // echos '6 days'

動作中のコードをもっと見る

于 2012-12-31T10:49:08.597 に答える
-1
<?php

//time() will give current time and
//$time will have the time from database when the post was posted on your site.
$time_difference = time() - $time ;

//calculate the difference and show accordingly.
$seconds = $time_difference ;
$minutes = round($time_difference / 60 );
$hours = round($time_difference / 3600 );
$days = round($time_difference / 86400 );
$weeks = round($time_difference / 604800 );
$months = round($time_difference / 2419200 );
$years = round($time_difference / 29030400 );
if($seconds <= 60)
{
    echo "<font id='big'>a few seconds ago</font>";
}
//Minutes
else if($minutes <=60)
{
    if ($minutes==1) {
        echo "1 minute ago";
    }
    else {
        echo $minutes." minutes ago";
    }
}
else if($hours <=24) {
    if ($hours==1) {
        echo "1 hour ago";
    }
    else {
        echo $hours." hours ago";
    }
}
else if($days <= 7)
{
    if ($days==1) {
        echo "Yesterday";
    }
    else {
        echo $days." days ago";
    }
}
else if($weeks <= 4)
{
    if ($weeks==1) {
        echo "1 week ago";
    }
    else {
        echo $weeks." weeks ago";
    }
}
else if($months <=12)
{
    if ($months==1) {
        echo "1 month ago";
    }
    else {
        echo $months." months ago";
    }
}
else
{
    if ($years==1) {
        echo "1 year ago";
    }
    else {
        echo $years." years ago";
   }
}
?>
于 2012-12-31T10:40:49.040 に答える