2012-12-31 2 views
0

안녕하세요 여러분, 누군가 온라인에 게시 된 시간을 어떻게 계산할 수 있는지 알려주실 수 있습니까? 내가 adposting의 사이트를 의미, 내가 여기 어떻게 PHP와 MySQL을 사용하여 광고 게시 시간을 계산할 수 있습니까?

은 예입니다 사라 광고가 3 일 간 광고가 온라인 온라인

2 일처럼, 내가 광고의 온라인 시간이 게시 계산할 수있는 방법을 계산하려면 http://www.buyandsell.ie/motors/classic-cars/kerry/head-gasket-sealer-3

이 사이트에서 볼 수있는 온라인 시간은 광고가 게시 된 후 9 일입니다.

답변

-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"; 
    } 
} 
?> 
1

Christmass에 광고를 게시했다고 가정합니다. 날짜는 mysql에 2012-12-25으로 저장됩니다. 이제 게시 된 일 수를 표시하려고합니다. DateTime, DateInterval 클래스를 사용하십시오.

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

은 더 code in action

보기
관련 문제