我编写了以下代码,无法弄清楚为什么它无法在我的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日
答案 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';
}
}