2012-07-04 5 views
0

일정을 생성 한 다음 Google Script를 통해 액세스하면 endTime이 일정을 실제로 설정 한 날짜를 초과합니다. 달력에서 일을 반복하여 이벤트를 얻을 때 매우 문제가 될 수 있습니다.하루 종일 일정에 Google Script 캘린더 일정 종료 시간이 초과되었습니다.

예 : Google 캘린더로 이동하여 오늘의 표준 기본값으로 종일 이벤트를 설정합니다. 나는 이것이 버그라고 생각

Events for today: Wed Jul 04 2012 19:39:12 GMT+0200 (CEST) 
Test 
Wed Jul 04 2012 02:00:00 GMT+0200 (CEST) 
Thu Jul 05 2012 02:00:00 GMT+0200 (CEST) 

Events for tomorrow: Thu Jul 05 2012 19:39:12 GMT+0200 (CEST) 
Test 
Wed Jul 04 2012 02:00:00 GMT+0200 (CEST) 
Thu Jul 05 2012 02:00:00 GMT+0200 (CEST) 
OK 

답변

1

에 가입해야합니다 이슈 트래커에서 제기 된 많은 문제가 있습니다. 내가 찾을 수있는 유일한 합리적인 해결책은 GMT + 0에서 새 달력을 만드는 것입니다. 그런 다음 모든 "하루 종일"이벤트가 하루 내에 올바르게 정렬됩니다.

1

: (구글 스크립트 로그에서)

function foo() { 
    var cal = CalendarApp.getDefaultCalendar(); 
    var date = new Date(); 
    var events = cal.getEventsForDay(date); 
    Logger.log("Events for today: "+date); 
    for (var i=0; i<events.length;i++) { 
     Logger.log(events[i].getTitle()); 
     Logger.log(" "+events[i].getStartTime()); 
     Logger.log(" "+events[i].getEndTime()); 
    } 
    date.setDate(date.getDate()+1); 
    Logger.log("\nEvents for tomorrow: "+date); 
    events = cal.getEventsForDay(date); 
    for (var i=0; i<events.length;i++) { 
     Logger.log(events[i].getTitle()); 
     Logger.log(" "+events[i].getStartTime()); 
     Logger.log(" "+events[i].getEndTime()); 
    } 
} 

예 출력 : 그런 다음 코드를 실행합니다. 당신이

  1. Issue 234
  2. 내가 지금이 문제를 솔루션을 찾고 3 다른 시간을 재 방문했습니다 Issue 936
+0

예 936은 내 문제와 유사합니다. 내 Google 계정의 시간대 설정으로이 문제가 "버그"의 행동으로 바뀌었지만 많이 변경되지는 않았는지 확인해 보았습니다. 그러나 캘린더 자체에 대한 시간대 설정이 있다는 것을 알지 못했습니까? 이상한. 가능한 해결책을 위해 버그 게시물을 모니터링 할 것입니다. – cyphunk

0

동일한 버그가 발생합니다. 내 하루 종일 이벤트가 전날 오후 7시 (동부 표준시 기준)부터 시작됩니다. 일시적인 일은 오늘 하루 종일 행사가 시작되는지 아닌지를 확인하는 것입니다. 코드 스 니펫 :

var allDayP = event.isAllDayEvent(); 
if (allDayP) 
{ 
    titl = '<font color="red">' + event.getTitle() + '</font>'; 
    if (Utilities.formatDate(event.getStartTime(), Session.getTimeZone(),"M/d") == Utilities.formatDate(now, Session.getTimeZone(),"M/d")) 
    { 
    startTime = "All Day Event The Next Day"; 
    endTime = Utilities.formatDate(event.getEndTime(), Session.getTimeZone(),"M/d") 
    } 
    else 
    { 
    startTime = "All Day Event Today"; 
    endTime = Utilities.formatDate(event.getEndTime(), Session.getTimeZone(),"M/d") 
    } 
}  
관련 문제