2017-10-27 2 views
0

이 문자열로 새 날짜를 만들면 "08.12.2017 00:00:00"Google Apps Script가 잘못된 날짜를 반환하지만 jsfiddle로 예제를 시도하면 공장.Google Apps Script new 날짜가 잘못되었지만 자바 스크립트에서 작동합니다.

Google 애플리케이션 스크립트

var limit = new Date("08.12.2017 00:00:00") 

잘못된 날짜

Jsfiddle

var limit = new Date("08.12.2017 00:00:00"); 
console.log(limit); 

토 2017년 8월 12일 0시 0 분 0 초 GMT + 0200 (중부 유럽 서머 타임)

왜 이렇게이다?

+0

"08.12.2017 00:00:00"은 ISO 8601과 일치하지 않으므로 ECMAScript 파서는 원하는대로 (유효하지 않은 것을 포함하여) 해석 할 수 있습니다. [* 왜 Date.parse가 잘못된 결과를 주는지? *] (https://stackoverflow.com/questions/2587345/why-does-date-parse-give-incorrect-results) – RobG

답변

1

다른 엔진, 다른 구문 분석 규칙. Google Apps Script는 Rhino를 기반으로합니다. Rhino tests for date parsing을 보면 많은 datetime 형식을 지원하지 않는다고 추측 할 수 있습니다. 다음은 허용 같습니다

var limit = new Date("2017-12-08T00:00:00"); // in the timezone of the script 
var limit = new Date("2017-12-08T00:00:00Z"); // in UTC 

날짜 YYYY-MM-DD 여야하고 날짜 및 시간 사이의 공간 T하고 안된다.