Я француз, и этот текст поступил от онлайн-переводчика.Заранее извиняюсь за орфографические ошибки.
Контекст: я пытаюсь отобразить на странице разницу во времени между созданием моей статьи и датой дня.Создайте систему, аналогичную Facebook, для комментариев.
Пример "1 день назад".
Проблема: Когда я применяю свою функцию к своей статье, она всегда показывает мне "только сейчас", даженесколько минут спустяЯ могу копать голову, но я не понимаю этого.Можете ли вы привести меня к треку?
Вот элементы, которые могут вам помочь.
Мой метод в моем классе статьи:
enter code here public function getDate_creation() {
return $this->date_creation;
}
public function articleTimeAgo()
{
$time_ago = strtotime($this->getDate_creation());
$current_time = time();
$time_difference = $current_time - $time_ago;
$seconds = $time_difference;
$minutes = round($seconds / 60 ); // value 60 is seconds
$hours = round($seconds / 3600); //value 3600 is 60 minutes * 60 sec
$days = round($seconds / 86400); //86400 = 24 * 60 * 60;
$weeks = round($seconds / 604800); // 7*24*60*60;
$months = round($seconds / 2629440); //((365+365+365+365+366)/5/12)*24*60*60
$years = round($seconds / 31553280); //(365+365+365+365+366)/5 * 24 * 60 * 60
if($seconds <= 60)
{
return "Just Now";
}
else if($minutes <=60)
{
if($minutes==1)
{
return "one minute ago";
}
else
{
return "$minutes minutes ago";
}
}
else if($hours <=24)
{
if($hours==1)
{
return "an hour ago";
}
else
{
return "$hours hrs ago";
}
}
else if($days <= 7)
{
if($days==1)
{
return "yesterday";
}
else
{
return "$days days ago";
}
}
else if($weeks <= 4.3) //4.3 == 52/12
{
if($weeks==1)
{
return "a week ago";
}
else
{
return "$weeks weeks ago";
}
}
else if($months <=12)
{
if($months==1)
{
return "a month ago";
}
else
{
return "$months months ago";
}
}
else
{
if($years==1)
{
return "one year ago";
}
else
{
return "$years years ago";
}
}
}
Мой взгляд:
<?php if (sizeof($articles) > 0) :
foreach ($articles as $article) : ?>
<div class="children">
<h3><?php echo (empty($article->getAuteur()) ? 'Anonyme' : $article->getAuteur()) ; ?></h3>
<p><?php echo $article->getDescription(); ?></p>
<span><p><?php echo $article->articleTimeAgo(); ?></p></span>
</div>
<?php endforeach;
endif; ?>
У меня есть сомнения относительно формата моих полей в базе данных, поэтому я даю вам формат полей "date_creation":
type = timestamp value = CURRENT_TIMESTAMP.
Надеюсь, я был достаточно ясен.Я остаюсь в вашем распоряжении для любой другой информации.