Skip to content

Instantly share code, notes, and snippets.

@vijjusri14
Last active August 30, 2021 07:59
Show Gist options
  • Select an option

  • Save vijjusri14/d9edb6a34c156d113993ce888fa55b40 to your computer and use it in GitHub Desktop.

Select an option

Save vijjusri14/d9edb6a34c156d113993ce888fa55b40 to your computer and use it in GitHub Desktop.
JS Date adventures
var days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var months = ["January","February","March","April","May","June","July","August","September","October","November","December"];
var startIST = new Date ('Jan 12 2017 10:00');
var endIST = new Date ('Jan 13 2018 10:30');
var startLocal = new Date(new Date(startIST).setMinutes(startIST.getMinutes() + ((new Date().getTimezoneOffset()) * -1) - 330));
var endLocal = new Date(new Date(endIST).setMinutes(endIST.getMinutes() + ((new Date().getTimezoneOffset()) * -1) - 330));
console.log("Start: "+days[startLocal.getDay()]+" "+ startLocal.getDate()+" "+ months[startLocal.getMonth()] +" "+startLocal.getFullYear() +'\n'+endLocal);
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
var startIST = new Date('Jan 12 2017 00:53');
var endIST = new Date('Jan 13 2018 10:30');
var dayLightSaving = 0;
var offset = +1 * (5 * 60 + 30) + dayLightSaving; // IST is +05:30 offset from GMT 5*60+30 = 330
var startLocal = new Date(new Date(startIST).setMinutes(startIST.getMinutes() - (new Date().getTimezoneOffset() + offset)));
var endLocal = new Date(new Date(endIST).setMinutes(endIST.getMinutes() - (new Date().getTimezoneOffset() + offset)));
function Localize(IST, Local) {
this.IST = IST;
this.Local = Local;
}
var startISTDate = `${days[startIST.getDay()]} ${startIST.getDate()} ${months[startIST.getMonth()]} ${startIST.getFullYear()}`;
var startISTTime = `${String(startIST.getHours()).padStart(2, "0")}:${String(startIST.getMinutes()).padStart(2, "0")}:${String(startIST.getSeconds()).padStart(2, "0")}`;
var endISTDate = `${days[endIST.getDay()]} ${endIST.getDate()} ${months[endIST.getMonth()]} ${endIST.getFullYear()}`;
var endISTTime = `${String(endIST.getHours()).padStart(2, "0")}:${String(endIST.getMinutes()).padStart(2, "0")}:${String(endIST.getSeconds()).padStart(2, "0")}`;
var startLocalDate = `${days[startLocal.getDay()]} ${startLocal.getDate()} ${months[startLocal.getMonth()]} ${startLocal.getFullYear()}`;
var startLocalTime = `${String(startLocal.getHours()).padStart(2, "0")}:${String(startLocal.getMinutes()).padStart(2, "0")}:${String(startLocal.getSeconds()).padStart(2, "0")}`;
var endLocalDate = `${days[endLocal.getDay()]} ${endLocal.getDate()} ${months[endLocal.getMonth()]} ${endLocal.getFullYear()}`;
var endLocalTime = `${String(endLocal.getHours()).padStart(2, "0")}:${String(endLocal.getMinutes()).padStart(2, "0")}:${String(endLocal.getSeconds()).padStart(2, "0")}`;
var start = new Localize(`${startISTDate} ${startISTTime}`, `${startLocalDate} ${startLocalTime}`);
var end = new Localize(`${endISTDate} ${endISTTime}`, `${endLocalDate} ${endLocalTime}`);
console.table([start, end]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment