trying to deal with dst time America and Europe

#341
Raw
Created
March 14, 2021, 6:47 p.m.
Expires
Never
Size
591 bytes
Hits
361
Syntax
JavaScript
Private
No
Date.prototype.stdTimezoneOffset = function() {
  var jan = new Date(this.getFullYear(), 0, 1);
  var jul = new Date(this.getFullYear(), 6, 1);
  return Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset());
};

Date.prototype.dst = function() {
  return this.getTimezoneOffset() < this.stdTimezoneOffset();
};

function getDate(dateObj, offset) {
  let dstAdjustedOffset = dateObj.dst() ? (offset + 1) : offset;

  let diff = dstAdjustedOffset * 60 + dateObj.getTimezoneOffset();
  return new Date(dateObj.getTime() + diff * 60 * 1000);
}