计算当前日期与另一日期之间的差异时存在差异

时间:2015-01-30 18:49:56

标签: javascript date difference

我需要你的帮助。

在计算当前日期减去另一个日期(英国日期标准)之间的差异时,我的代码没有返回正确的差值

实施例

正确答案应该导致:

30/01/2015 - 30/01/2015 = 0
30/01/2015 - 29/01/2015 = 1
30/01/2015 - 31/01/2015 = -1

当前代码:

var x = "30/01/2015"
var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
var today = new Date();
var secondDate = new Date(x);

var diffDays = Math.ceil((secondDate.getTime() - today.getTime())/(oneDay));

alert(diffDays)

2 个答案:

答案 0 :(得分:0)

您的日期字符串变量x格式错误。

来自Date object description

的构造函数参数部分
  

dateString

     

表示日期的字符串值。字符串应采用格式   由Date.parse()方法识别(符合IETF的RFC 2822   时间戳以及ISO8601的版本。

使用

var x = '2015-01-30'

JSFiddle for your case

答案 1 :(得分:0)

new Date("30/01/2015").toSTring()将返回“2017年6月1日星期四00:00:00 GMT + 0200(CEST)”。

您传递的日期字符串格式必须为http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15http://tools.ietf.org/html/rfc2822#page-14

你也可以这样说new Date(2015,0,30);

此处有更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date