Почему дата, извлеченная из моего листа Google, отключается на 1 день при использовании? - PullRequest
0 голосов
/ 19 февраля 2019

Я извлекаю даты из столбца в моем листе Google с помощью Google Apps Script, а затем распечатываю их в сообщении (например, «срок действия вашей подписки истекает 19/19/19»).

var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("San Diego"));
var sheet = SpreadsheetApp.getActiveSheet(); 
var lastRow = sheet.getLastRow();
var dataSet = sheet.getRange(StartingRow,2,lastRow-StartingRow+1,9);
var data = dataSet.getValues();

for (i in data) {   
   var rowData = data[i];
   ....

Даты на листе (в rowData [2]) имеют форму MM / DD / YYYY или MM / DD / YY.

Однако, когда я печатаю дату (переменная ExpirationDate ниже) в сообщении, показанная дата на 1 день раньше, чем на листе.

Это происходит с обоими:

var ExpirationDate = Utilities.formatDate(rowData[2],Session.getScriptTimeZone(),"MM/dd/yyyy"); 

и

var ExpirationDateForCompareInt = new Date(rowData[2]);
var ExpirationDate = Utilities.formatDate(ExpirationDateForCompareInt, Session.getScriptTimeZone(),"MM/dd/yyyy");

Я думал, что rowData [2] в обозначении часового пояса будет интерпретироваться как дата в Калифорнии (Лос-Анджелес), если я правильно читаю документацию.Я в том же часовом поясе, что и ЛА.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...