为什么使用时从我的Google工作表中提取的日期要缩短1天?

时间:2019-02-19 11:21:28

标签: google-apps-script

我正在使用Google Apps Script从我的Google工作表中的一列中提取日期,然后在消息中将其打印出来(例如“您的订阅将于19年2月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]解释为加利福尼亚(LA)中的日期。我和洛杉矶在同一时区。

有什么主意吗?

0 个答案:

没有答案