JSFiddle - React, Tailwind, and code Playground
by Sam88
JavaScript
//DST
var now = new Date();
var later = new Date();
var d1 = new Date();
var d2 = new Date();
// Date one is set to January 1st of this year
// Guaranteed not to be in DST for northern hemisphere,
// and guaranteed to be in DST for southern hemisphere
// (If DST exists on client PC)
d1.setDate(1);
d1.setMonth(1);
// Date two is set to July 1st of this year
// Guaranteed to be in DST for northern hemisphere,
// and guaranteed not to be in DST for southern hemisphere
// (If DST exists on client PC)
d2.setDate(1);
d2.setMonth(7);
// If time zone offsets match, no DST exists for this time zone
if (parseInt(d1.getTimezoneOffset(), 10) == parseInt(d2.getTimezoneOffset(), 10)) {
alert("no DST");
}
// DST exists for this time zone – check if it is currently active
else {
// Find out if we are on northern or southern hemisphere
// Hemisphere is positive for northern, and negative for southern
var hemisphere = parseInt(d1.getTimezoneOffset(), 10) - parseInt(d2.getTimezoneOffset(), 10);
// Current date is still before or after DST, not containing DST
if ((hemisphere > 0 && parseInt(d1.getTimezoneOffset(), 10) == parseInt(now.getTimezoneOffset(), 10)) || (hemisphere < 0 && parseInt(d2.getTimezoneOffset(), 10) == parseInt(now.getTimezoneOffset(), 10))) {
alert("DST attivo");
} // DST is active right now with the current date
else {
alert("DST non attivo");
}
}