GAS에서 시간대를 변경할 수 없어 곤란한 이야기

3897 단어 GoogleAppsScriptgas
GAS(Google Apps Script)로 new Date() 하면 이상한 시간이 되고 있다! 어째서 야넨! 되었기 때문에 조사한 것을 비망록으로 정리했습니다.

사건



new Date() 로 현재 일시를 로그에 출력해 보면 타임 트래블하고 있었다.
단지 지금, 일본 시각 2020년 9월 5일 01:40 정도.
아래 GAS를 실행하면 ...
    function log() {
      var dt = new Date();
      console.log(dt);
    }



어째서 야넨!

조사해 보면 타임 존이 어긋나 있다고 하는 것.

시간대 변경 방법



GAS 편집 화면의 파일> 프로젝트 속성에서 변경할 수있는 것 같습니다.



변경할 수 없잖아…
본래는 타임 존의 동부 시간으로 표시되고 있는 부분이 풀다운이 되어 있어 선택할 수 있는 것 같다.

이것은 곤란했다….

한층 더 조사하고 있으면 프로젝트의 프로퍼티의 내용을 직접 편집할 수 있는 것 같다.

appsscript.json 직접 편집



스크립트 편집기 표시 > 매뉴페스트 파일 표시 를 누르면 appsscript.json 페일이 표시됩니다.
    {
      "timeZone": "America/New_York",
      "dependencies": {
      },
      "exceptionLogging": "STACKDRIVER",
      "runtimeVersion": "V8",
      "sheets": {
        "macros": [{
          "menuName": "log",
          "functionName": "log"
        }]
      }
    }

TimeZone의 부분을 「Asia/Tokyo」로 변경해 저장하면…
     "timeZone": "Asia/Tokyo",



타임 존이 도쿄로 바뀌고 있습니다!

이전 GAS를 실행하면 ...



무사히 일본으로 돌아올 수 있었습니다.
죄송합니다.

좋은 웹페이지 즐겨찾기