簡體   English   中英

在 Google Apps 腳本中使用日期、時間

[英]Working with Date, Time in Google Apps Script

我需要一些使用谷歌應用程序腳本快速編碼的幫助,鏈接到我的 googlesheets 電子表格。

在 google 電子表格中,我有一個值為“26-Jun-2020”的單元格。 這是一個約會。 我想使用谷歌應用程序腳本來計算該日期(“2020 年 6 月 26 日”)與今天之間的天數差異,但它不會以某種方式為我計算。

如果我使用 Logger.log(expiry_date[i]) 僅打印“expiry_date[i]”,它將提供 output“Fri Dec 17 2021 01:00:00 GMT-0500(東部標准時間)”

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);
}


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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM