我有这个数组:
["AM", "2015", "01", "11"]
我使用此代码创建一个新日期:
var mois = (date1[2]-1);
var d1 = new Date(date1[1],mois,date1[3]);
我想知道如何比较我的日期(d1)和今天 - 24小时?
根据动物园回复进行编辑:
我现在有了这段代码:
var jour_de_conge = new Date(date1[1],mois,date1[3]).getTime();
var jour_de_conge2 = new Date('2015','01','11').getTime();
获取的时间戳是不同的,但日期是相同的(2015,01,11)
我不明白......
答案 0 :(得分:1)
您可以使用Date对象的getTime()方法,如下所示:
var today = new Date('2015','01','04').getTime(); // 1422979200000
var today_23 = new Date('2015','01','04','23').getTime(); // 1423062000000
var diff = today_23 - today;
if (diff <= 86400000) {
alert('same day');
} else {
alert('other day');
}
一天有86400000毫秒。或者您可以使用秒来判断哪个是相同的。
答案 1 :(得分:1)
试一试:
var dateUnits = {
miliseconds: 0,
seconds: 1,
minutes: 2,
hours: 3,
days: 4,
month: 5,
years: 6
};
function dateDiff(date1,date2,unitRetur) {
var unit = des.dateUnits.miliseconds;
if (arguments.length < 2) {
return null;
}
if (arguments.length = 3) {
unit = arguments[2];
}
var dif = date2 - date1;
switch (unit){
case des.dateUnits.seconds:
//86400000
dif = Math.round(dif/1000);
break;
case des.dateUnits.minutes:
dif = Math.round(((dif / 1000)/60));
break;
case des.dateUnits.hours:
dif = Math.round((((dif / 1000) / 60) / 60));
break;
case des.dateUnits.days:
dif = Math.round((((dif / 1000) / 60) / 60)/24);
break;
case des.dateUnits.month:
dif = Math.round((((((dif / 1000) / 60) / 60) / 24)) / 30);
break;
case des.dateUnits.years:
dif = Math.round((((((dif / 1000) / 60) / 60) / 24))/360);
break;
}
return dif;
}
var mois = (date1[2] - 1);
var d1 = new Date(date1[1], mois, date1[3]);
var dif = dateDiff(d1, new Date(), dateUnits.hours);