尝试在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);