JSFiddle - React, Tailwind, and code Playground
by vrluckyin India
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>
<p>
AM/PM: <input type="radio" name="hdn-ampm" value="yes" /> Yes <input type="radio" name="hdn-ampm" value="no" checked /> No
</p>
<p>
Format: <input type="text" id="hdn-format" name="hdn-format" value="YYYY-MM-DD" />
</p>
<p>
TimeZone: <input type="text" id="hdn-timeZone" name="hdn-format" value="America/New_York" />
</p>
<p>
<input type="button" id="hdn-generate" value="Generate Date" />
</p>
<div id="output"></div>
JavaScript
//Asia/Calcutta
//America/New_York
var buffer = []
var HygieiaUtcDate = function(localeDate){
console.log(localeDate);
//localeDate.setMonth(localeDate.getMonth() + 1);
this.format = $('#hdn-format').val() ;
var ampm = $('input[name=hdn-ampm]:checked').val()=='yes'? ' hh:mm:ss a':' HH:mm:ss';
this.format = this.format+ampm;
this.tz = $('#hdn-timeZone').val();
var utc = moment.tz(localeDate,this.format,this.tz).utc();
console.log(utc) ;
var $output = $('#output');
buffer.push('<br/>--------------- UTC -------------------');
buffer.push('<br/>format: ' + this.format);
//buffer.push('<br/>ampm: ' + ampm);
// buffer.push('<br/>tz: ' + this.tz);
buffer.push('<br/>utc: ' + utc.format(this.format));
//var dt = utc.toDate();
//console.log(dt);
//console.log(tzDate.toDate());
//$output.append(buffer);
//return dt;
return utc.format(this.format);
}
var HygieiaLocaleDate = function(yy,mm,dd,hh,mm,ss){
this.format = $('#hdn-format').val() ;
var ampm = $('input[name=hdn-ampm]:checked').val()=='yes'? ' hh:mm:ss a':' HH:mm:ss';
this.format = this.format+ampm;
this.tz = $('#hdn-timeZone').val();
//replaced hardcode value with parameters
var utc = moment.utc([2016,07,18,10,07,0]);
var tzDate = utc.clone().tz(this.tz);
var $output = $('#output');
buffer.push('<br/>--------------- Locale -------------------');
buffer.push('<br/>format: ' + this.format);
//buffer.push('<br/>ampm: ' + ampm);
//buffer.push('<br/>tz: ' + this.tz);
buffer.push('<br/>utc: ' + utc.format(this.format));
buffer.push('<br/>tz date: ' + tzDate.format(this.format));
//var dt = tzDate.toDate();
//console.log(dt);
//console.log(tzDate.toDate());
//$output.append(buffer);
//return dt;
//debugger
var val = tzDate.format(this.format);
return val;
...