JSFiddle - React, Tailwind, and code Playground
HTML
<section id="comments">
<article id="comment-1" class="comment">
<div class="user-image">
<img src="http://lorempixel.com/50/50/cats" />
</div>
<div class="user-info">
<h2>Derp</h2>
<time datetime="05/21/2014 09:00:52 AM"></time>
</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam malesuada vestibulum dui, eget posuere justo vulputate vitae. Sed fringilla nisi eu est ullamcorper, at dictum arcu gravida.
</div>
</article>
<article id="comment-2" class="comment">
<div class="user-image">
<img src="http://lorempixel.com/50/50/cats" />
</div>
<div class="user-info">
<h2>Derpina</h2>
<time datetime="05/19/2014 23:00:24"></time>
</div>
<div class="text">
Quisque sit amet venenatis urna.
</div>
</article>
</section>
CSS
#comments{
}
#comments .comment{
position:relative;
overflow:hidden;
margin-bottom:20px;
}
#comments .comment .user-image{
position:relative;
width:50px;
height:50px;
float:left;
margin-right:10px;
}
#comments .comment .user-info{
overflow:hidden;
}
#comments .comment .user-info h2{
font-size:14px;
margin-top:0;
float:left;
}
#comments .comment .user-info time{
font-size:12px;
float:right;
}
JavaScript
$(function(){
var $second = 1000;
var $minute = $second * 60;
var $hour = $minute * 60;
var $day = $hour * 24;
setInterval(function(){
$('.comment').each(function(){
var $this = $(this);
var $time = new Date($this.find('time').attr('datetime'));
var $now = new Date();
var $distance = $now - $time;
var $days = Math.floor($distance / $day);
var $hours = Math.floor(($distance % $day) / $hour);
var $minutes = Math.floor(($distance % $hour) / $minute);
var $seconds = Math.floor(($distance % $minute) / $second);
var $time_string = '';
if($days > 0) {
$time_string = $time_string + $days + ' Day(s) ';
}
if($hours > 0) {
$time_string = $time_string + $hours + ' Hour(s) ';
}
if($minutes > 0) {
$time_string = $time_string + $minutes + ' Minute(s) ';
}
if($seconds > 0) {
$time_string = $time_string + $seconds + ' Second(s)';
}
$this.find('time').text($time_string);
});
}, 1000);
});