JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment-with-locales.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.3.0/moment-timezone-with-data.js"></script>
<!-- vrluckyin -->
<!-- moment js DST verify -->
<div id="output"></div>

JavaScript

var 
	tzIndia = "Asia/Calcutta",
  tzUSA = "America/New_York",
	TZ = tzUSA,
	FORMAT = 'YYYY-MM-DD hh:mm:ss',
  time = '10:30:15',
  beforeDSTDate = moment.tz('2016-11-12 '+time, FORMAT, TZ),
  dstStartDate = moment.tz('2016-03-13 '+time, FORMAT, TZ),
  dstMiddleDate = moment.tz('2016-07-05 '+time, FORMAT, TZ),
  dstEndDate = moment.tz('2016-11-05 '+time, FORMAT, TZ),
  afterDSTDate = moment.tz('2016-11-06 '+time, FORMAT, TZ),
  $output = $('#output'),
  buffer = [];

//buffer.push('beforeDSTDate: ' + beforeDSTDate.format());
//buffer.push('dstStartDate: ' + dstStartDate.format());
//buffer.push('dstMiddleDate: ' + dstMiddleDate.format());
//buffer.push('<br/>dstEndDate: ' + dstEndDate.format());
//buffer.push('<br/>afterDSTDate: ' + afterDSTDate.format());

buffer.push('<br/>beforeDSTDate: ' + beforeDSTDate.format('YYYY-MM-DD hh:mm:ss'));
buffer.push('<br/>dstStartDate: ' + dstStartDate.format('YYYY-MM-DD hh:mm:ss'));
buffer.push('<br/>dstMiddleDate: ' + dstMiddleDate.format('YYYY-MM-DD hh:mm:ss'));
buffer.push('<br/>dstEndDate: ' + dstEndDate.format('YYYY-MM-DD hh:mm:ss'));
buffer.push('<br/>afterDSTDate: ' + afterDSTDate.format('YYYY-MM-DD hh:mm:ss'));
buffer.push('<br/>------------------');
buffer.push('<br/>beforeDSTDate: ' + beforeDSTDate.clone().tz(tzIndia).format('YYYY-MM-DD hh:mm:ss'));
buffer.push('<br/>dstStartDate: ' + dstStartDate.clone().tz(tzIndia).format('YYYY-MM-DD hh:mm:ss'));
buffer.push('<br/>dstMiddleDate: ' + dstMiddleDate.clone().tz(tzIndia).format('YYYY-MM-DD hh:mm:ss'));
buffer.push('<br/>dstEndDate: ' + dstEndDate.clone().tz(tzIndia).format('YYYY-MM-DD hh:mm:ss'));
buffer.push('<br/>afterDSTDate: ' + afterDSTDate.clone().tz(tzIndia).format('YYYY-MM-DD hh:mm:ss'));
buffer.push('<br/>------------------');
// this evaluates to 'true', but shouldn't according to 
// https://github.com/moment/moment-timezone/blob/44ce91b03aa528ceb3832d13dbcee041f09c577a/tests/zones/pacific/fiji.js#L78-L79 
buffer.push('<br/>beforeDSTDate.isDST: ' +...