From 4f9fc032e54c70c017e17b8fc7b0f4e7938dbd09 Mon Sep 17 00:00:00 2001 From: Sam Detweiler Date: Wed, 17 Mar 2021 07:36:03 -0500 Subject: [PATCH] fix for issue 2483, calendar shows wrong date, recurring start before 2007 --- CHANGELOG.md | 1 + modules/default/calendar/calendarutils.js | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d30b8ec..0e9d64d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -59,6 +59,7 @@ _This release is scheduled to be released on 2021-04-01._ - Fix e2e tests after spectron update - Fix updatenotification creating zombie processes by setting a timeout for the git process - Fix weather module openweathermap not loading if lat and lon set without onecall. +- Fix calendar daylight savings offset calculation if recurring start date before 2007 ## [2.14.0] - 2021-01-01 diff --git a/modules/default/calendar/calendarutils.js b/modules/default/calendar/calendarutils.js index aaf51a12..9ade144e 100644 --- a/modules/default/calendar/calendarutils.js +++ b/modules/default/calendar/calendarutils.js @@ -71,8 +71,13 @@ const CalendarUtils = { Log.debug("adjusted date=" + event.start); } else { // get the start time in that timezone - Log.debug("start date/time=" + moment(event.start).toDate()); - start_offset = moment.tz(moment(event.start), event.start.tz).utcOffset(); + let es = moment(event.start); + // check for start date prior to start of daylight changing date + if (es.format("YYYY") < 2007) { + es.set("year", 2013); // if so, use a closer date + } + Log.debug("start date/time=" + es.toDate()); + start_offset = moment.tz(es, event.start.tz).utcOffset(); Log.debug("start offset=" + start_offset); Log.debug("start date/time w tz =" + moment.tz(moment(event.start), event.start.tz).toDate());