尝试在JavaScript中匹配两个日期对象

尝试在JavaScript中匹配两个日期对象,javascript,jquery,date,Javascript,Jquery,Date,我有以下脚本 脚本 $('#test1').click(function () { // Here are the two dates to compare var date1 = '29-10-2015'; var date2 = '29-12-2015'; var Targetvalue = parseFloat("1000000"); var dealjson = '[{"dealdate":"25-12-2015","cost":200000},

我有以下脚本

脚本

$('#test1').click(function () {

    // Here are the two dates to compare
    var date1 = '29-10-2015';
    var date2 = '29-12-2015';
    var Targetvalue = parseFloat("1000000");
    var dealjson = '[{"dealdate":"25-12-2015","cost":200000},{"dealdate":"25-11-2015","cost":200000}]';

    // First we split the values to arrays date1[0] is the year, [1] the month and [2] the day
    date1 = date1.split('-');
    date2 = date2.split('-');

    // Now we convert the array to a Date object, which has several helpful methods
    date1 = new Date(date1[2], date1[1] - 1, date1[0]);
    date2 = new Date(date2[2], date2[1] - 1, date2[0]);
    var deals = JSON.parse(dealjson);
    var achieved = 0;

    while (date1 <= date2) {
        var next_day = new Date(date1);
        next_day.setDate(date1.getDate() + 1);
        achieved = 0;
        deals.forEach(function (deal) {
            var dealDate = deal.dealdate;
            dealDate = dealDate.split('-');
            dealDate = new Date(dealDate[2], dealDate[1] - 1, dealDate[0]);

            if (dealDate === date1) console.log("matched" + date);
        });

        date1 = next_day;
    }

});
这是你的电话号码


有人能帮我找出错误在哪里吗?

在JavaScript中检查两个日期是否相等,您必须获取它们的“自1970年1月1日00:00:00 UTC以来的毫秒数”,并比较这些值

要获取此数字,请使用日期的
getTime()
方法:

if (dealDate.getTime() === date1.getTime()) console.log("matched" + date);

请参阅更新。

当您使用
==
==
来比较
日期
实例时,它仅适用于相同的
日期
实例,而不适用于等效的
日期
实例

要查看它们的时间是否完全相同,请使用
+
getTime()


这不是其他日期关系的问题,
您需要在时间戳中输入日期

var dc1=new Date(dealDate).getTime();
var dc2=new Date(date1).getTime();

 if(dc1===dc2) console.log("matched"+date1);
$('#test1')。单击(函数(){
//这两个日期可以比较
var date1=‘2015年10月29日’;
var date2=‘2015年12月29日’;
var Targetvalue=parseFloat(“1000000”);
var dealjson='[{“dealdate”:“25-12-2015”,“成本”:200000},{“dealdate”:“25-11-2015”,“成本”:200000}];
//首先,我们将值拆分为数组date1[0]是年,[1]是月,[2]是日
date1=date1.split('-');
date2=date2.split('-');
//现在我们将数组转换为Date对象,它有几个有用的方法
date1=新日期(date1[2],date1[1]-1,date1[0]);
date2=新日期(date2[2],date2[1]-1,date2[0]);
var deals=JSON.parse(dealjson);
var=0;

虽然(date1如果我想每个月都这样做,那么我应该怎么做?你是什么意思?你想检查两个日期是否有相同的月份吗?嗯,我的意思是说我应该按月份运行循环,如果日期属于相关月份,我应该登录控制台。@T.JCrowder你能告诉我如何计算两个g之间的总月数吗iven dates,然后匹配json中的日期,如果日期与特定月份匹配,则登录控制台
if (+dealDate === +date1)
// or
if (dealDate.getTime() === date1.getTime())
var dc1=new Date(dealDate).getTime();
var dc2=new Date(date1).getTime();

 if(dc1===dc2) console.log("matched"+date1);