JSFiddle - React, Tailwind, and code Playground

HTML

<div class="ui-timeago">1428544787</div>
<div class="ui-timeago">2015-04-09 02:59:47</div>

JavaScript

(function(){
	var useAbbr = true;

    //from jQuery
    var isNumeric = function(obj){ return (obj - parseFloat(obj) + 1) >= 0; };

	var secondsToString = function(sec)
    {
		var weeks = Math.floor(sec / 604800);
		sec -= (weeks * 604800);
        var days = Math.floor(sec / 86400);
        sec -= (days * 86400);
        var hours = Math.floor(sec / 3600);
        var minutes = Math.floor((sec - (hours * 3600)) / 60);
        var buffer = '';

        if (!useAbbr)
        {
			if (weeks > 1) buffer += weeks + ' weeks ';
            if (weeks == 1) buffer += '1 week ';
            if (days > 1) buffer += days + ' days ';
            if (days == 1) buffer += '1 day ';
            if (hours > 1) buffer += hours + ' hours ';
            if (hours == 1) buffer += '1 hour ';
            if (minutes > 1) buffer += minutes + ' minutes ';
            if (minutes == 1) buffer += '1 minute';
        }
        else
        {
            if (weeks >= 1) buffer += weeks + 'w ';
            if (days >= 1) buffer += days + 'd ';
            if (hours >= 1) buffer += hours + 'h ';
            if (minutes >= 1) buffer += minutes + 'm ';
        }
        return buffer;
    };

    setInterval(function()
    {
	    var times = document.getElementsByClassName("ui-timeago");

        //loop thru .ui-timeago
        for (var x = 0; x < times.length; x++)
        {
	        var innerHTML, d, attr, now = new Date();

            if (times[x].hasAttribute("data-timestamp"))
                innerHTML = times[x].getAttribute("data-timestamp");
            else
                innerHTML = times[x].innerHTML;

            //is UNIX or MySQL Timestamp
            if (isNumeric(innerHTML))
            {
                d = new Date(parseInt(innerHTML) * 1000);
                d.setTime(d.getTime() + d.getTimezoneOffset() * 60 * 1000);
            }
            else
            {
                var t = innerHTML.split(/[- :]/);
                d = new Date(parseInt(t[0]), parseInt(t[1]) -...