Pure JS countdown clock not converting millisecond time correctly I have a semisimple pure js countdown clock that I am having trouble converting the millisecond time correctly.

Here is a working Plunker (besides the date counter)

It Should only be 38 days instead of 184.

//// Should Countdown till feb, 4th 2019 /////

let cd = new Countdown({
  cont: document.querySelector(".container"),
  endDate: 1549263600000,
  outputTranslation: {
    year: "Years",
    week: "Weeks",
    day: "Days",
    hour: "Hours",
    minute: "Minutes",
    second: "Seconds"
  },
  endCallback: null,
  outputFormat: "day|hour|minute|second"
});


Thank's I appreciate the help!
The plunker has this code at the top of the CountDown function:

let options = { 
    // ...
    },
    lastTick = null,
    intervalsBySize = ["year", "week", "day", "hour", "minute", "second"],
    TIMESTAMP_SECOND = 200,
    TIMESTAMP_MINUTE = 60 * TIMESTAMP_SECOND,
    TIMESTAMP_HOUR = 60 * TIMESTAMP_MINUTE,
    TIMESTAMP_DAY = 24 * TIMESTAMP_HOUR,
    TIMESTAMP_WEEK = 7 * TIMESTAMP_DAY,
    TIMESTAMP_YEAR = 365 * TIMESTAMP_DAY,
    elementClassPrefix = "countDown_",
    interval = null,
    digitConts = {};


... but that states that there are 200 milliseconds in a second. Obviously there are 1000 of them. So the line in question should be:

TIMESTAMP_SECOND = 1000,


This solves the issue. However, your setInterval also uses this variable for the length of the interval, and it might make sense to have more than one tick per second. So for that interval you should probably use a new variable that would indeed have the value 200.

Nice work though on the CSS side!