我試圖創建一個從谷歌電子表格谷歌日曆事件:如何用當地時間創建Google日曆活動?
實例試算表:
(細節和日期是不規則的那麼簡單重複出現的事件不會安靜砍吧)
代碼:
function walk_sheet(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("CalendarGenerator");
for (var i = 2; i <= 39; i++) {
var date = sheet.getRange(i, 2).getValue();
var start = parseTime(sheet.getRange(i, 3).getDisplayValues().toString()) ;
var end = parseTime(sheet.getRange(i, 4).getDisplayValues().toString()) ;
var summary= sheet.getRange(i, 6).getValue();
var disc = sheet.getRange(i, 7).getValue();
add_bsf_event(date, start, end, summary, disc);
}
}
function add_bsf_event(dateIn, start, end, summary, disc){
start_date= new Date(dateIn.getYear(), dateIn.getMonth(), dateIn.getDate(), start.getHours(), start.getMinutes(),0,0);
end_date = new Date(dateIn.getYear(), dateIn.getMonth(), dateIn.getDate(), end.getHours(), end.getMinutes(),0,0);
...
CalendarApp.getCalendarById(calendarId).createEvent(summary, start_date, end_date);
}
而且它與抗辯工作n夏令時。在Google日曆2017年3月13日之後開始的活動在1小時後開始(7:55 pm而不是下午6:55)。
我已經試過:
- 尋找將接受本地時間谷歌日曆法(又稱派6:55 PM和谷歌日曆API將其轉換爲UTC)
- 尋找本地JS方法將當地時間轉換爲UTC。
無法找到任一解決方案。有沒有我沒有找到的或者是不同的/更好的方法來解決這個問題?
我的問題是夏令時沒有時區(所有的事件都在同一個時區)...我嘗試在Google Calendar API中指定start/end.timeZone,但它沒有任何作用。 – Nathan