"Преди n минути..." - как?

djman

Registered
Как се прави това "преди 2 минути", "преди 5 часа" и тн.? В замунда в профилите и форума има такова нещо - до 1 час се показва "преди n минути", после до 24 часа се показва "преди n часа", после до 7 дни - n дни и накрая до края - n седмици :)

Не вярвам че е много сложно, но се чудя как се прави? Мерси!
 
Когато създаваш записа, запиши точния час в момента чрез time().
После проверяваш каква е разликата, като вземаш настоящия час отново чрез time(). Това, което ще получиш е разликата в секунди. Например 5 минути са 60*5 секунди. :wink:
 
Тъй, това ясно. Но нататък как - с if-ове ли? Може ли един примерен код, мисля че ще го схвана :) :) :)
 
не просто взимаш този тиме от базата и правиш така:
date("H:i:s", $row['time']); //това показва кога точно е станало. След това изваждаш от сегашният час/минута или каквото и да е и получаваш преди колко време е било туй.
 
Ето пример, а ти вече си нагласяш какво и кога искаш да ти пише! А може и да го сложиш в една функция, за да си го извикваш, когато ти потрябва, без да пишеш двайсет if-а.
Код:
if($difference < 60) {
 echo 'Преди по-малко от минута';
}
else if($difference < 60*2) {
 echo 'Преди 2 минути';
}[
else if($difference < 60*5) {
 echo 'Преди 5 минути';
}[
else if($difference < 60*10) {
 echo 'Преди 10 минути';
}[
 

Back
Горе