2014-05-15 2 views
0

특정 이벤트의 날짜가 가까워지면 경고 이메일을 보내야하는 Google Apps Script를 작성하고 있습니다. 모든 일정은 Google 스프레드 시트에 설정되어 있으며 각 일정에는 시작일과 종료일이 있습니다.개체에서 parseInt 함수를 찾을 수 없습니다.

스프레드 시트의 셀에서 날짜를 구문 분석 할 때 문제가 발생합니다. 셀의 날짜 값을 얻으면 실제로 Date 객체를 반환하지 않으므로 셀에서 가져온 값에서 Date를 곧바로 작성할 수 없습니다. 그러나 그것을 문자열로 변환 한 다음 문자열을 공간 토큰으로 분할하여 년, 월, 일을 얻을 수 있습니다. 이제 문제가 발생하는 곳입니다. 결과 변수에서 .parseInt()를 수행 할 수 없으며 이유를 알 수 없습니다. 지금까지 내가 스프레드 시트에서 얻은 날짜를 변환 할 만들고있어 함수에 대한 코드는 다음과 같습니다

내가 컴파일 할 때, 나는라는 오류가 있기 때문에, 지금까지 내가 가진 전부
function convertToDateObject(date) 
{ 
    var months = 
     { 
     'Jan' : '01', 
     'Feb' : '02', 
     'Mar' : '03', 
     'Apr' : '04', 
     'May' : '05', 
     'Jun' : '06', 
     'Jul' : '07', 
     'Aug' : '08', 
     'Sep' : '09', 
     'Oct' : '10', 
     'Nov' : '11', 
     'Dec' : '12' 
     }; 

    var dateArray = date.toString().split(" "); 
    var month = dateArray[1].parseInt(); // This is actually in the form of name (e.g. Jan, Feb, etc.), but I know how to change this already 
    var day = dateArray[2].parseInt(); 
    var year = dateArray[3].parseInt(); 
} 

: "개체에서 함수 parseInt를 찾을 수 없습니다 ..."

형식은 월, 일 또는 연도로, 문자열을 반환합니다. 누구든지 나를 도울 수 있습니까?

답변

0

String에는 parseInt 메서드가 없습니다. parseInt는 전역 함수에게 있습니다 http://www.w3schools.com/jsref/jsref_parseint.asp

var dateArray = date.toString().split(" "); 
    var month = parseInt(dateArray[1], 10); // This is actually in the form of name (e.g. Jan, Feb, etc.), but I know how to change this already 
    var day = parseInt(dateArray[2], 10); 
    var year = parseInt(dateArray[3], 10); 
+0

오 와우, 나는 내가 그에서는 parseInt()을 생각하고, 어떤 이유로 ... 그런 바보 같은 실수를 String 클래스의 일원이었다 믿을 수 없다. 정말 간단한 것을 간과하지 않는 한, 실제로 Date 객체가 아니기 때문에 Date 메소드를 사용하여 스프레드 시트에서 반환 한 날짜를 구문 분석 할 수 없습니다. – Geoff

+0

죄송합니다. 귀하의 설명 전체를 읽지 않았으므로 날짜가 Date 객체라고 생각했습니다. – 0101

+0

기수 (parseInt의 두 번째 param)를 사용하십시오. 이 경우 8 진수로 보이는 숫자 (예 : "08")를 얻을 가능성이 매우 높으며이 문자없이 올바르게 구문 분석되지 않습니다. – James

관련 문제