麻烦在Sheets Script

时间:2017-08-23 20:51:29

标签: javascript google-apps-script google-sheets

我编写了以下代码,无法弄清楚为什么它无法在我的Google表格中使用:

function WEEKOF(myDay, myDate) {
  var wkDate = new Date(myDate);
  var StartDate = new Date();
  StartDate.setDate(wkDate.getDate()-myDay);
  return StartDate;
}

= WEEKOF(工作日(A1),A1)

Cell A1包含:05/01/2016

回程:7/26/2017

我期待回归:2016年4月29日

1 个答案:

答案 0 :(得分:1)

天,小时,分钟和秒的差异

var adayinmilliseconds=24*60*60*1000;
var differenceBetweenTwoDatesInDays = Math.floor((date1.valueOf()-date2.valueOf())/adayinmilliseconds);

日期差异功能,输出天,小时,分钟和秒。从MDN日期对象基于时间值,该时间值是自1970年1月1日UTC以来的毫秒数。 time()和valuOf()的方法都为我们提供了日期的原始值,即从过去的某个日期开始的毫秒数。是的,它可能是一个相当大的数字,但最后有一个简单的算术Math.floor(),/,%,你最终得到一个简单的计算。您可以根据需要将输出更改为数组或对象。

function calcTimeDifference(Start,End)
{
  if(Start && End)
  {
    var second=1000;
    var minute=60*second;
    var hour=minute*60;
    var day=hour*24;
    var t1=new Date(Start).valueOf();
    var t2=new Date(End).valueOf();
    var d=t2-t1;
    var days=Math.floor(d/day);
    var hours=Math.floor(d%day/hour);
    var minutes=Math.floor(d%day%hour/minute);
    var seconds=Math.floor(d%day%hour%minute/second);
    return 'dd:hh:mm:ss\n' + days + ':' + hours + ':' + minutes + ':' + seconds;  
  }
  else
  {
    return 'Invalid Inputs';
  }
}