重复规则日期包含时区偏移,其中日历事件“开始”/“结束”字段采用 UTC,这似乎是不正确的行为(错误?)。有谁知道为什么“Recurrence.Range”“StartDate”/“EndDate”字段包含不是 UTC 的日期?预期行为是接收日历事件对象中所有日期字段的 UTC 日期。
{
"@odata.id": "https://outlook.office365.com/api/v1.0/Users('EXAMPLEUSER')",
"@odata.etag": "ETAG",
"Id": "EXAMPLEID",
"ChangeKey": "GnglO5JwUUGYx+QpS/Qc5AAABbYSpQ==",
"Categories": [],
"DateTimeCreated": "2015-05-14T13:52:41.9129608Z",
"DateTimeLastModified": "2015-05-14T13:52:41.9285866Z",
"Subject": "Every monday",
"BodyPreview": "adsasdsa",
"Body": {
"ContentType": "HTML",
"Content": "adsasdsa"
},
"Importance": "Normal",
"HasAttachments": false,
//Notice the format of the date - correctly comes in UTC:
"Start": "2015-05-11T00:00:00Z",
"StartTimeZone": "UTC",
//Notice the format of the date - correctly comes in UTC:
"End": "2015-05-12T00:00:00Z",
"EndTimeZone": "UTC",
"Reminder": null,
"Location": {
"DisplayName": "",
"Address": {
"Street": "",
"City": "",
"State": "",
"CountryOrRegion": "",
"PostalCode": ""
},
"Coordinates": {
"Accuracy": "NaN",
"Altitude": "NaN",
"AltitudeAccuracy": "NaN",
"Latitude": "NaN",
"Longitude": "NaN"
}
},
"ResponseStatus": {
"Response": "Organizer",
"Time": "0001-01-01T00:00:00Z"
},
"ShowAs": "Free",
"IsAllDay": true,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SeriesMaster",
"SeriesMasterId": null,
"Attendees": [],
"Recurrence": {
"Pattern": {
"Type": "Weekly",
"Interval": 1,
"Month": 0,
"Index": "First",
"FirstDayOfWeek": "Sunday",
"DayOfMonth": 0,
"DaysOfWeek": ["Monday"]
},
"Range": {
"Type": "NoEnd",
//Notice the format of the date - it's not UTC:
"StartDate": "2015-05-11T00:00:00+03:00",
"EndDate": "0001-01-01T00:00:00Z",
"NumberOfOccurrences": 0
}
},
"Organizer": {
"EmailAddress": {
"Address": "vladimir@kendouischeduler.tk",
"Name": "vladimir iliev"
}
},
"iCalUId": "EXAMPLEICALUID",
"WebLink": "EXAMPLEWEBLINK"
}
我目前正在研究 Office365 日历事件和第三方客户端调度程序小部件(仅支持 iCal 重复规则)之间的集成,并且不知道如何正确解释重复“范围”对象中的上述日期。