js时间转换及时间比较

时间的转换是开发中经常遇到的,本菜鸟带大家总结一下下。若是遗漏了什么,或者哪里写的不对。请多多指教~

时间戳转换为yyyy-mm-dd hh:mm:ss:

//1614544999000 => 2021-03-01 04:43:19
//如果获取某一时间戳对应的年月日时分秒就按照下面的形式。如果获取当前时间,就去掉参数time,var date = new Date(time);改成var date = new Date();就可以啦
function getTime(time) {
    var date = new Date(time);
    var year = date.getFullYear();
    var month= date.getMonth() + 1;
    month= checkTime(month);
    var day = date.getDate();
    day = checkTime(day);
    var hour = date.getHours();
    hour=checkTime(hour);
    var min = date.getMinutes();
    min=checkTime(min);
    var seconds= date.getSeconds();
    seconds=checkTime(seconds);
    return year + '-' + month + '-' + day + ' ' + hour + ':' +min + ':' +seconds;
}

function checkTime(m) {
    if (m < 10) {
        m = "0" + m;
    }
    return m;
}


json序列化转换为yyyy-mm-dd hh:mm:ss:

// /Date(1614544999000)/ => 2021-03-01 04:43:19
//后台返回的数据有可能是/Date(1614544999000)/ 形式的,那么就用以下方法,是的没错,就比上面的多了一点点东西而已啦
function getTime(time) {
    var date = new Date(parseInt(time.slice(6, 19)));
或者var date = new Date(parseInt(time.replace("/Date(", "").replace(")/", ""), 10));
    var year = date.getFullYear();
    var month= date.getMonth() + 1;
    month= checkTime(month);
    var day = date.getDate();
    day = checkTime(day);
    var hour = date.getHours();
    hour=checkTime(hour);
    var min = date.getMinutes();
    min=checkTime(min);
    var seconds= date.getSeconds();
    seconds=checkTime(seconds);
    return year + '-' + month + '-' + day + '&nbsp;' + hour + ':' +min + ':' +seconds;
}

function checkTime(m) {
    if (m < 10) {
        m = "0" + m;
    }
    return m;
}

DateTime格式的时间(如2021/1/15 20:34:30)转换为yyyy-mm-dd(如2021-01-15):

var date=time.ToString("yyyy-MM-dd");

指定时间和当前时间比较

//time指定时间,gap相差天数
//如果time不是时间戳形式,加个转换就可以了
function getGap(time,gap) {
    time = new Date(time);
    var currentDate = new Date();
    var gap = time.getTime()-currentDate.getTime();
    var gapDay = parseInt(gap / (1000 * 60 * 60 * 24));
    if (gapDay <= gap) {
        return true;
    }else{
        return false;
    }
}

getGap(1614544999000,30);

猜你喜欢

转载自blog.csdn.net/weixin_45042290/article/details/112686092