Javascript中对Date类的操作函数

这里,笨小葱分享一个在工作中用到得js,对date类型变量的一些操作函数。包括:

1.将Date转化为指定格式的String

2.计算出当前时间的前7天,15天的日期

3.计算出前1个月,3个月的日期

// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) {
    var o = {
        "M+": this.getMonth() + 1, //月份
        "d+": this.getDate(), //日
        "H+": this.getHours(), //小时
        "m+": this.getMinutes(), //分
        "s+": this.getSeconds(), //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}




function getStopDate(){
    var now = new Date();
    var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日

    var clock = year + "-";

    if(month < 10){
        clock += "0";
    }
    clock += month + "-";
    if(day < 10){
        clock += "0";
    }
    clock += day;
    return(clock);
}
function getStartDate(){
    //7天的毫秒数   加7天
    var interval = 6*24*60*60*1000;
    var now = new Date();
    now.setTime(now.getTime()-interval);
    var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日

    var clock = year + "-";

    if(month < 10){
        clock += "0";
    }

    clock += month + "-";

    if(day < 10){
        clock += "0";
    }
    clock += day;
    return(clock);
}
function get24HoursData(){
    var interval = 1*24*60*60*1000;
    var now = new Date();
    now.setTime(now.getTime()-interval);
    var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日

    var clock = year + "-";

    if(month < 10){
        clock += "0";
    }

    clock += month + "-";

    if(day < 10){
        clock += "0";
    }
    clock += day;
    return(clock);
}
function getNext1DayDate(){
    var interval = 1*24*60*60*1000;
    var now = new Date();
    now.setTime(now.getTime()+interval);
    var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日

    var clock = year + "-";

    if(month < 10){
        clock += "0";
    }

    clock += month + "-";

    if(day < 10){
        clock += "0";
    }
    clock += day;
    return(clock);
}
function getLast1MonthDate(){
    var now = new Date();
    now.setMonth(now.getMonth() - 1);
    var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日

    var clock = year + "-";

    if(month < 10){
        clock += "0";
    }
    clock += month + "-";
    if(day < 10){
        clock += "0";
    }
    clock += day;
    return(clock);
}

function getLast3MonthDate(){
    var now = new Date();
    now.setMonth(now.getMonth() - 3);
    var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日

    var clock = year + "-";

    if(month < 10){
        clock += "0";
    }
    clock += month + "-";
    if(day < 10){
        clock += "0";
    }
    clock += day;
    return(clock);
}
function getLast6MonthDate(){
    var now = new Date();
    now.setMonth(now.getMonth() - 6);
    var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日

    var clock = year + "-";

    if(month < 10){
        clock += "0";
    }
    clock += month + "-";
    if(day < 10){
        clock += "0";
    }
    clock += day;
    return(clock);
}
function getCurrentDate(){
    var now = new Date();
    var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日

    var clock = year + "-";

    if(month < 10){
        clock += "0";
    }
    clock += month + "-";
    if(day < 10){
        clock += "0";
    }
    clock += day;
    return(clock);
}

function getLast1WeekDate(){
    //7天的毫秒数   加7天
    var interval = 6*24*60*60*1000;
    var now = new Date();
    now.setTime(now.getTime()-interval);
    var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日

    var clock = year + "-";

    if(month < 10){
        clock += "0";
    }

    clock += month + "-";

    if(day < 10){
        clock += "0";
    }
    clock += day;
    return(clock);
}

function getLast2WeekDate(){
    //14天的毫秒数   加14天
    var interval = 13*24*60*60*1000;
    var now = new Date();
    now.setTime(now.getTime()-interval);
    var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日

    var clock = year + "-";

    if(month < 10){
        clock += "0";
    }

    clock += month + "-";

    if(day < 10){
        clock += "0";
    }
    clock += day;
    return(clock);
}
function getLast15DayDate(){
    //14天的毫秒数   加14天
    var interval = 14*24*60*60*1000;
    var now = new Date();
    now.setTime(now.getTime()-interval);
    var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日

    var clock = year + "-";

    if(month < 10){
        clock += "0";
    }

    clock += month + "-";

    if(day < 10){
        clock += "0";
    }
    clock += day;
    return(clock);
}

function getLast1DayData(){
    var interval = 1*24*60*60*1000;
    var now = new Date();
    now.setTime(now.getTime()-interval);
    var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日

    var clock = year + "-";

    if(month < 10){
        clock += "0";
    }

    clock += month + "-";

    if(day < 10){
        clock += "0";
    }
    clock += day;
    return(clock);
}

function getLast2DayData(){
    var interval = 2*24*60*60*1000;
    var now = new Date();
    now.setTime(now.getTime()-interval);
    var year = now.getFullYear();       //年
    var month = now.getMonth() + 1;     //月
    var day = now.getDate();            //日

    var clock = year + "-";

    if(month < 10){
        clock += "0";
    }

    clock += month + "-";

    if(day < 10){
        clock += "0";
    }
    clock += day;
    return(clock);
}

function comparedate(a, b) {
    var arr = a.split("-");
    var starttime = new Date(arr[0], arr[1], arr[2]);
    var starttimes = starttime.getTime();

    var arrs = b.split("-");
    var lktime = new Date(arrs[0], arrs[1], arrs[2]);
    var lktimes = lktime.getTime();

    if (starttimes > lktimes) {

        //alert('开始时间大于离开时间,请检查');
        return false;
    }
    else
        return true;

}

发布了35 篇原创文章 · 获赞 15 · 访问量 13万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章