日本時間の指定日の午前8時から次の日の午前8時までのGmailを取得したいのですが、下記のコードだと指定日の午前9時から翌日の午前9時以前まで取得してしまいます。
解決策をご教示いただけますでしょうか。
//指定した日付を取得 let dateBefore = new Date(date.getFullYear(),date.getMonth(),date.getDate()+1,date.getHours(),date.getMinutes()); let timeStampBefore = Utilities.formatDate(dateBefore, 'Asia/Tokyo', 'yyyy/MM/dd'); let timeStampAfter = Utilities.formatDate(date, 'Asia/Tokyo', 'yyyy/MM/dd'); Logger.log(timeStampBefore); const config = getConfig(); const SEARCH_BOX = `subject:${config.searchText} before:${timeStampBefore} after:${timeStampAfter}`; // before:取得したい日にちの次の日 after:取得したい日にち /* スプレッドシートのシートを取得と準備 */ const mySheet = SpreadsheetApp.openById(config.spreadSheetId).getSheetByName(config.spreadSheetTabName); //シートを取得 let messages = [['date','Subject', 'From', 'To','Body']]; GmailApp .search(SEARCH_BOX, 0, 500) .forEach(function (thread) { thread.getMessages().forEach(function (message) { let date = message.getDate(); let reformDate = Utilities.formatDate(date, 'Asia/Tokyo', 'yyyy/MM/dd/HH:mm'); let subject = message.getSubject(); let to = message.getTo(); let from = message.getFrom(); let plainBody = message.getPlainBody().slice(0,100); messages.push([reformDate,subject, from, to,plainBody]); }); });
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。