mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-06-28 20:22:53 +00:00
[Fix] Fixed time zone calculation error on starting date of events with different time zones.
This commit is contained in:
parent
21f606c6ba
commit
31d31fc3d3
@ -160,7 +160,7 @@ const CalendarUtils = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (event.type === "VEVENT") {
|
if (event.type === "VEVENT") {
|
||||||
Log.debug("\nEvent: " + JSON.stringify(event));
|
Log.debug("Event:\n" + JSON.stringify(event));
|
||||||
let startDate = eventDate(event, "start");
|
let startDate = eventDate(event, "start");
|
||||||
let endDate;
|
let endDate;
|
||||||
|
|
||||||
@ -177,8 +177,8 @@ const CalendarUtils = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Log.debug("startDate (local): " + startDate.toDate());
|
Log.debug("start: " + startDate.toDate());
|
||||||
Log.debug("endDate (local): " + endDate.toDate());
|
Log.debug("end:: " + endDate.toDate());
|
||||||
|
|
||||||
// Calculate the duration of the event for use with recurring events.
|
// Calculate the duration of the event for use with recurring events.
|
||||||
let duration = parseInt(endDate.format("x")) - parseInt(startDate.format("x"));
|
let duration = parseInt(endDate.format("x")) - parseInt(startDate.format("x"));
|
||||||
@ -332,17 +332,15 @@ const CalendarUtils = {
|
|||||||
Log.debug("Fullday");
|
Log.debug("Fullday");
|
||||||
// If the offset is negative (east of GMT), where the problem is
|
// If the offset is negative (east of GMT), where the problem is
|
||||||
if (dateoffset < 0) {
|
if (dateoffset < 0) {
|
||||||
// Remove the offset, independently of the comparison between the date hour and the offset,
|
if (dh <= Math.abs(dateoffset / 60)) {
|
||||||
// since in the case that *date houre < offset*, the *new Date* command will handle this by
|
// reduce the time by the offset
|
||||||
// representing the day before.
|
|
||||||
|
|
||||||
// Reduce the time by the offset:
|
|
||||||
// Apply the correction to the date/time to get it UTC relative
|
// Apply the correction to the date/time to get it UTC relative
|
||||||
date = new Date(date.getTime() - Math.abs(nowOffset) * 60000);
|
date = new Date(date.getTime() - Math.abs(dateoffset) * 60000);
|
||||||
// the duration was calculated way back at the top before we could correct the start time..
|
// the duration was calculated way back at the top before we could correct the start time..
|
||||||
// fix it for this event entry
|
// fix it for this event entry
|
||||||
//duration = 24 * 60 * 60 * 1000;
|
//duration = 24 * 60 * 60 * 1000;
|
||||||
Log.debug("new recurring date1 is " + date);
|
Log.debug("new recurring date1 is " + date);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// if the timezones are the same, correct date if needed
|
// if the timezones are the same, correct date if needed
|
||||||
if (event.start.tz === moment.tz.guess()) {
|
if (event.start.tz === moment.tz.guess()) {
|
||||||
@ -387,7 +385,7 @@ const CalendarUtils = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
startDate = moment(date);
|
startDate = moment(date);
|
||||||
Log.debug("Corrected startDate (local): " + startDate.toDate());
|
Log.debug("Corrected startDate: " + startDate.toDate());
|
||||||
|
|
||||||
let adjustDays = CalendarUtils.calculateTimezoneAdjustment(event, date);
|
let adjustDays = CalendarUtils.calculateTimezoneAdjustment(event, date);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user