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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章