1
我正在將事件從Office365導入到FullCalendar以顯示在網站上,但顯示的時間與Office365上的事件設置的時間偏移1小時(即事件設置爲14:00:00爲被顯示爲13:00:00),我被卡住了,無法弄清楚爲什麼會發生這種情況。FullCalendar來自Office365的日期偏移
功能創建日曆事件:日曆
function getTentativeEvents(){
client
.api("/me/calendars/"+calID1+"/calendarview/?$top=3000&$filter=ShowAs eq 'Tentative'&startDateTime="+calStartDate+"&endDateTime="+calEndDate)
.select("Subject,Start,Id,End,Categories")
.get((err, res) => {
if (err) {
console.log(err);
return;
}
console.log(res);
var catNameFound = "";
var categoryTitleTotal = timeSlotsCategoryTitleArray.length;
var arrayLength = res['value'].length;
var counter = arrayLength -1;
for (var i = 0; i < arrayLength; i++) {
var eveColour = defaultTimeSlotBackgroundColour;
var eveTxtColour = defaultTimeSlotTextColour;
var categoriesLength = res['value'][i]['categories'].length;
if(categoriesLength >= 1){
for (var i2 = 0; i2 < categoriesLength; i2++) {
var catNameFound = res['value'][i]['categories'][i2];
catNameFound = catNameFound.toLowerCase();
for (var i3 = 0; i3 < categoryTitleTotal; i3++) {
var timeSlotToCheck = timeSlotsCategoryTitleArray[i3];
timeSlotToCheck = timeSlotToCheck.toLowerCase();
//console.log(catNameFound);
if(timeSlotToCheck == catNameFound){
eveColour = timeSlotsBackgroundColourArray[i3];
eveTxtColour = timeSlotsTextColourArray[i3];
}
}
}
}
eventSubject = res['value'][i]['subject'];
eventID = res['value'][i]['id'];
startDate = res['value'][i]['start']['dateTime'];
endDate = res['value'][i]['end']['dateTime'];
startDate = startDate.replace(".0000000", "");
endDate = endDate.replace(".0000000", "");
addToEventList(eventSubject,startDate,endDate,eventID,eveColour,eveTxtColour);
}
//
$('#calendar1').fullCalendar('gotoDate', '<?php echo $theDateAfter; ?>');
$("#calendar1").fullCalendar('addEventSource', timeSlotsArray);
$('#calendarLoader').hide();
$('#calendar1').show();
});
而且參數:
header: {
left: 'prev,next today',
center: 'title',
right: ''
},
defaultView: 'agendaDay',
defaultDate: '<?php echo $theDateAfter; ?>',
eventColor: defaultTimeSlotBackgroundColour,
minTime: "10:00:00",
timezone: "Europe/London",
ignoreTimezone: false,
maxTime: "20:00:00",
editable: false
我檢查Office365的設置,並正確設置爲UTC + 0(倫敦)。
我錯過了什麼?
實際導入數據的開始/結束時間是什麼樣子的?他們是否有指定的時區? – ADyson
他們來這樣的:2017-05-26T12:00:00.0000000,我正在修剪額外的零,你可以看到代碼。 –
它可能與它現在在英國的夏季時間有關,所以時鐘比UTC早一個小時。 https://www.timeanddate.com/worldclock/converted.html?iso=20130911T160009&p1=0&p2=136 Office365可能會顯示BST時間?檢查導出的數據與Office屏幕上實際顯示的內容,並且這些日期也沒有指定任何可能混淆事件的時區。 – ADyson