JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.4/angular.min.js"></script>
<body onload="init()">
<div id="count_label_ms"></div>

JavaScript

var Timer = function () {
    
    var end = new Date();
        var _second = 1000;
        var _minute = _second * 60;
        var _hour = _minute * 60;
        var _day = _hour * 24;
        var timer;


 var params = {
       second:_second,
       minute:_minute,
       hour: _hour,
       day: _day,        
       interval: null,
       messageFinal: 'expired!',
       id:'date_element',
       formatEnter:'Y-m-d H:i:s',
       dateEnd: null,
       formatView:'%d dias %h horas %i minutos %s segundos'
    };
    
     this.setMessageExpired = function(message) {
         params.messageFinal = message;
     }
     
     this.setId = function(id) {
         params.id = id;
     }
     
     this.setDate = function(dateVal) {
       params.dateEnd = dateVal;  
     }

    var createDateFinal = function(strDate) {

       var reggie = /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/;
       var dateArray = reggie.exec(strDate); 
       return new Date(
       (+dateArray[1]),
       (+dateArray[2])-1, // Careful, month starts at 0!
       (+dateArray[3]),
       (+dateArray[4]),
       (+dateArray[5]),
       (+dateArray[6])
       );

     }
    
     this.setView = function(view) {
       params.formatView = view;
     }
     
     var setFormatViewTime = function(elementsTime) {
                    return params.formatView
                        .replace(/%d/gi, elementsTime[0])
                        .replace(/%h/gi, elementsTime[1])
                        .replace(/%i/gi, elementsTime[2])
                        .replace(/%s/gi, elementsTime[3]);
                };
     
     this.remaining = function() {
           var now = new Date();

               end = createDateFinal(params.dateEnd); 

            var distance = end - now;

            if (distance < 0) {
                clearInterval(params.interval);
                document.getElementById(params.id).innerHTML = params.messageFinal;
                return;
            }
            var days =...