要知道今天的日期是否优越 - 24小时

时间:2015-01-11 12:56:10

标签: javascript

我有这个数组:

 ["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)

我不明白......

2 个答案:

答案 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);