Javascript-两个日期之间以秒为单位的时差

时间:2019-06-07 04:21:54

标签: javascript

我必须创建一个函数,以秒为单位计算从现在到7月4日的时间。

这是我到目前为止所拥有的:

function getTimeDiff(fdate, pdate) {
  var fSeconds = fdate.getTime();
  var pSeconds = pdate.getTime();
  var secondsLeft = (fSeconds - pSeconds) / 1000
  return secondsLeft;
}

var x = getTimeDiff(new Date(2019, 6, 4, 0, 0), new Date());
console.log(x);

当我在浏览器中运行代码时,它指出

  

“ fdate.getTime()不是函数”

我该如何解决?

2 个答案:

答案 0 :(得分:0)

  

如何输入日期,以便函数识别出我正在输入“新的Date()”?

也许您打算这样做:

var x = getTimeDiff(new Date(2019, 7, 4, 24, 0, 0), new Date(2019, 6, 7, 24, 11, 0));

答案 1 :(得分:0)

如果您想将日期与今天进行比较,则无需将今天作为变量传递给函数(代码会变得简单一些)。

function getTimeDiff(year, month, day) {
  var today = new Date();
  var targetDate = new Date(year, month, day);
  return Math.round( (targetDate.getTime() - today.getTime()) / 1000);
}

console.log(getTimeDiff(2019,6,6));

因为getTime以毫秒为单位输出值,所以我将其除以1000并四舍五入后得到一个整数。

代码输出的内容类似于2293103(已在Chrome和Firefox中测试)