[GAS] Spreadsheet의 셀에 입력된 「날짜・시간」을 GAS로 취급할 때의 데이터형
4410 단어 GoogleAppsScriptspreadsheetgas
그리고 스프레드 시트 측에는 「표시 형식」을 설정할 수 있지 않습니까. 이 표시 형식의 차이에 의해 「날짜・시각이 들어간 셀」로부터 취해 온 값이 GAS의 코드중에서 무엇이 되는지 한번 조사했습니다.
실험
샘플 스프레드시트
1행째는 어느 「표시 형식」을 지정했는지, 입니다.
기본값 = 표시 형식에 대해 아무 것도 설정하지 않은 상태
샘플 코드
function myFunction() {
const sheet = SpreadsheetApp.getActive().getActiveSheet();
const data = sheet.getRange("A2:E2").getValues()[0];
// デフォルト
console.log(data[0] instanceof Date); // => true
// 日付
console.log(data[1] instanceof Date); // => true
// 自動
console.log(data[2] instanceof Date); // => true
// 日時
console.log(data[3] instanceof Date); // => true
// 書式なしテキスト
console.log(data[4] instanceof Date); // => false
console.log(data[4] instanceof String); // => false
console.log(typeof data[4] ); // => string
}
결과
function myFunction() {
const sheet = SpreadsheetApp.getActive().getActiveSheet();
const data = sheet.getRange("A2:E2").getValues()[0];
// デフォルト
console.log(data[0] instanceof Date); // => true
// 日付
console.log(data[1] instanceof Date); // => true
// 自動
console.log(data[2] instanceof Date); // => true
// 日時
console.log(data[3] instanceof Date); // => true
// 書式なしテキスト
console.log(data[4] instanceof Date); // => false
console.log(data[4] instanceof String); // => false
console.log(typeof data[4] ); // => string
}
Dateオブジェクト
로 검색되었습니다. (처음은 「문자열」일까라고 생각했습니다) string
로서 취득되었습니다. (String 개체가 아닌 기본 형식의 string
참고: Primitive(프리미티브) - MDN Web Docs ) 실무 중에서는 「스프레드 시트로 날짜가 들어가는 셀은 (서식 없음 텍스트는 아니고) 일자/시각을 표현할 수 있는 표시 형식을 설정해 둔다」가 좋다고 생각합니다.
Reference
이 문제에 관하여([GAS] Spreadsheet의 셀에 입력된 「날짜・시간」을 GAS로 취급할 때의 데이터형), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sakaimo/items/26086e36d31f726bda13텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)