Google Apps脚本:扣除整月后两个日期之间的天数

时间:2016-09-22 16:07:53

标签: javascript google-apps-script

我有两个约会。我想知道   a)两个日期之间的完整月数和   b)扣除整月后的天数。

如果在Google表格中作为公式输入,基本上DATEDIF(start_date, end_date, "m")DATEDIF(start_date, end_date, "md")会做什么。

实施例: 开课日期是2015年11月18日 截止日期为2016年3月3日

两个日期之间的完整月份数为3。 减去整月后的天数是12 + 3 = 15。

有没有人有解决方案如何在Google Apps脚本中计算?

1 个答案:

答案 0 :(得分:1)

要获取减去完整月份后的天数,请使用以下代码:

function getNumberOfDaysBetweenTwoDatesSubstractFullMonths(startDate, endDate) {

  var startDay = startDate.getDate();
  var startMonth = startDate.getMonth();
  var startYear = startDate.getYear();

  var endDay = endDate.getDate();

  var startNumber = daysInMonth(startMonth, startYear) - startDay;
  var endNumber = endDay;

  return startNumber + endNumber;

}

function daysInMonth(month, year) {
  return new Date(year, month + 1, 0).getDate();
}

要在Google表格脚本中查看此内容:

function TEST_days() {
  var d1 = new Date('18 November 2015');
  var d2 = new Date('3 March 2016');

  Logger.log(getNumberOfDaysBetweenTwoDatesSubstractFullMonths(d1, d2));

}