스프레드 시트의 이벤트를 캘린더로 가져 오는 스크립트가 있습니다.
function caltest1() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 3; // Number of rows to process
var dataRange = sheet.getRange(startRow, 1, numRows, 5);
var data = dataRange.getValues();
var cal = CalendarApp.getDefaultCalendar();
for (i in data) {
var row = data[i];
var title = row[0]; // First column
var desc = row[1]; // Second column
var tstart = row[2];
var tstop = row[3];
var loc = row[4];
//cal.createEvent(title, new Date("March 3, 2010 08:00:00"), new Date("March 3, 2010 09:00:00"), {description:desc,location:loc});
cal.createEvent(title, tstart, tstop, {description:desc,location:loc});
}
}
내 스프레드 시트에 다음과 같은 데이터가 포함되어 있으면 스크립트가 제대로 작동합니다.
Title Description Start Stop Channel
Mr Dear no drinks 5/6/2014 20:55:00 5/6/2014 21:57:00 what ever
그러나 D4에는 날짜가 있고 G4에는 단일 셀 날짜 및 시간으로 결합 된 시간이 있다는 점을 고려할 때 고유 한 날짜 = CONCATENATE ($ D4, "", $ G4)를 만들면 작동하지 않습니다. concatenate가 시간 서식이 아닌 일반 텍스트를 생성한다는 것을 감지하기 때문에 생각했지만 어떻게 고칠 수 있습니까?
스프레드 시트에서 날짜는 1899 년 12 월 31 일 이후의 일 수를 나타내는 정수의 기본 값을 가지며 시간은 하루의 일부인 10 진수 값입니다 (예 : 6 시간 = 하루의 1/4, 예 : 0.25 일).
따라서 스프레드 시트 에 DATE + TIME (정수 +10 진수) 을 추가하면 시간 이 포함 된 전체 날짜를 얻을 수 있습니다.
따라서 대답은 (다른 대답에 대한 귀하의 의견에서 알 수 있듯이) 논리적으로 두 값을 모두 추가 하는 것입니다. 그것이 실제로 스프레드 시트가 그렇게 구축되는 이유입니다! (날짜와 시간을 쉽게 사용할 수 있도록)
=D2+E2
새 열에서 수식 을 사용하면 JavaScript에서 직접 사용할 수있는 완전한 날짜 개체를 얻을 수 있습니다.
자바 스크립트에서 날짜와 시간은 동일한 객체이고, 날짜가없고 시간이없는 날짜가없는 시간 객체는 없습니다. 기본 값은 1970 년 1 월 1 일 자정 (정수)부터 계산 된 밀리 초입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다