const newRec: Office.Recurrence = cloneDeep(EventRecurrence);
newRec.seriesTime.setStartTime(stLocal.getUTCHours(), stLocal.getUTCMinutes());
In (PlatformType is OfficeOnline) .setStartTime adjusts the hours assuming UTC but in the Windows and Mac Outlook clients it does not adjust the hours based on timezone.
e.g. .setStartTime(11,0) on OWA computes 6am and Win/Mac clients computes 11am.
workaround:
const newRec: Office.Recurrence = cloneDeep(EventRecurrence);
if (GetOutlookPlatform === Office.PlatformType.OfficeOnline) {
newRec.seriesTime.setStartTime(stLocal.getUTCHours(), stLocal.getUTCMinutes());
} else {
newRec.seriesTime.setStartTime(stLocal.getHours(), stLocal.getMinutes());
}
question from:
https://stackoverflow.com/questions/65927732/outlook-js-api-office-recurrence-setstarttime-uses-utc-for-owa-and-recurrence-t 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…