JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.12.0/moment.js"></script>
<h2>With Timezone, With UTC</h2>
<div id="days1">Days: <span></span></div>
<div id="hours1">Hours: <span></span></div>
<div id="mins1">Minutes: <span></span></div>
<div id="seconds1">Seconds: <span></span></div>
<div id="tzstring1"></div>
<hr>
<h2>With Timezone, Without UTC</h2>
<div id="days2">Days: <span></span></div>
<div id="hours2">Hours: <span></span></div>
<div id="mins2">Minutes: <span></span></div>
<div id="seconds2">Seconds: <span></span></div>
<div id="tzstring2"></div>
<hr>
<h2>Without Timezone, With UTC</h2>
<div id="days3">Days: <span></span></div>
<div id="hours3">Hours: <span></span></div>
<div id="mins3">Minutes: <span></span></div>
<div id="seconds3">Seconds: <span></span></div>
<div id="tzstring3"></div>
<hr>
<h2>Without Timezone, Without UTC</h2>
<div id="days4">Days: <span></span></div>
<div id="hours4">Hours: <span></span></div>
<div id="mins4">Minutes: <span></span></div>
<div id="seconds4">Seconds: <span></span></div>
<div id="tzstring4"></div>
JavaScript
const endTime = '2016-04-22T16:00:00.000Z';
const endTimeNoTimezone = '2016-04-22T16:00:00'
setInterval(function() {
const leftTime1 = moment.utc(endTime).diff(moment());
const leftTime2 = moment(endTime).diff(moment());
const leftTime3 = moment.utc(endTimeNoTimezone).diff(moment());
const leftTime4 = moment(endTimeNoTimezone).diff(moment());
const duration1 = moment.duration(leftTime1);
const duration2 = moment.duration(leftTime2);
const duration3 = moment.duration(leftTime3);
const duration4 = moment.duration(leftTime4);
document.querySelector('div#days1 span').innerHTML = duration1.days();
document.querySelector('div#hours1 span').innerHTML = duration1.hours();
document.querySelector('div#mins1 span').innerHTML = duration1.minutes();
document.querySelector('div#seconds1 span').innerHTML = duration1.seconds();
document.querySelector('div#tzstring1').innerHTML = moment.utc(endTime).format();
document.querySelector('div#days2 span').innerHTML = duration2.days();
document.querySelector('div#hours2 span').innerHTML = duration2.hours();
document.querySelector('div#mins2 span').innerHTML = duration2.minutes();
document.querySelector('div#seconds2 span').innerHTML = duration2.seconds();
document.querySelector('div#tzstring2').innerHTML = moment(endTime).format();
document.querySelector('div#days3 span').innerHTML = duration3.days();
document.querySelector('div#hours3 span').innerHTML = duration3.hours();
document.querySelector('div#mins3 span').innerHTML = duration3.minutes();
document.querySelector('div#seconds3 span').innerHTML = duration3.seconds();
document.querySelector('div#tzstring3').innerHTML = moment.utc(endTimeNoTimezone).format();
document.querySelector('div#days4 span').innerHTML = duration4.days();
document.querySelector('div#hours4 span').innerHTML = duration4.hours();
document.querySelector('div#mins4 span').innerHTML = duration4.minutes();
document.querySelector('div#seconds4...