【问题标题】:Working with Date, Time in Google Apps Script在 Google Apps 脚本中使用日期、时间
【发布时间】:2021-06-04 02:48:30
【问题描述】:

我需要一些帮助,以使用谷歌应用程序脚本进行一些快速编码,链接到我的 googlesheets 电子表格。

在 google 电子表格中,我有一个值为“26-Jun-2020”的单元格。这是一个约会。 我想使用谷歌应用程序脚本来计算该日期(“26-Jun-2020”)与今天之间的天数,但它不会以某种方式为我计算。

如果我使用 Logger.log(expiry_date[i]) 仅打印“expiry_date[i]”,它将提供输出“Fri Dec 17 2021 01:00:00 GMT-0500 (Eastern Standard Time)”

function Put_Options_Expiry_Alert() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Long equity (sell puts)");
  //var timeZone = AdsApp.currentAccount().getTimeZone(); //Get timezone of current spreadsheet

  var status = sheet.getRange("F:F").getValues();
  var expiry_date = sheet.getRange("M:M").getValues();
  var potential_capitaloutlay_USD = sheet.getRange("Z:Z").getValues();

  Logger.log("Length of status = " + status.length);
  Logger.log("Length of expiry_date = " + expiry_date.length);
  Logger.log("Length of potential_capitaloutlay_USD = " + potential_capitaloutlay_USD.length);

  for (var i = 0; i < status.length; i++) {
    
    if (status[i] == "Entered") { //Evaluate if this is a live Put position
      
      //Calculate the time difference of two dates using date2. getTime() – date1. getTime();
      //Calculate the no. of days between two dates, divide the time difference of both the dates by no. of milliseconds in a day (1000*60*60*24)
      Logger.log("expiry date is = "+expiry_date[i]);
      Logger.log("today's date is = "+Date());
      
      var days_to_expiry = dateDiffInDays(expiry_date[i],Date());
      Logger.log(days_to_expiry);

    }
  }

}

// Function that returns the number of days difference between DateA and DateB 
// DateA and DateB are javascript Date objects
function dateDiffInDays(DateA, DateB) {
  
  var milliseconds_per_day = 1000 * 24 * 60; // number of milliseconds in a day 
  const utcA = Date.UTC(2021, DateA.getMonth(), DateA.getDate());
  const utcB = Date.UTC(2020, DateB.getMonth(), DateB.getDate());

  return Math.floor((utc2 - utc1) / milliseconds_per_day);
}


【问题讨论】:

    标签: datetime google-apps-script


    【解决方案1】:
    function timeDiffDays(Start, End) {
      var day = 86400000;
      var t1 = new Date(Start).valueOf();
      var t2 = new Date(End).valueOf();
      var d = t2 - t1;
      return Math.floor(d / day);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      • 1970-01-01
      相关资源
      最近更新 更多