JS日期比較大小 給定時間和持續時間計算最終時間

bmbm 9年前發布 | 972 次閱讀 JavaScript

       /* 往指定時間字符串上加時間間隔,獲得新的時間字符串

 * startDateStr:開始時間字符串,類似"2015-7-20 17:26:00"
 * durationNumStr:持續時間數
 * durationTypeStr:持續時間類型
 * 返回類似:2015-7-20 17:26:00
 * 
 * 
 */
function getEndDate(startDateStr, durationNumStr, durationTypeStr) {

    var startDate = new Date(startDateStr.replace("-", "/").replace("-",
            "/"));
    var duration_num = parseInt(durationNumStr);

    var endDate = "";
    if (durationTypeStr == "min") {
        endDate = new Date(startDate.setMinutes(startDate.getMinutes()
                + duration_num));
    }
    if (durationTypeStr == "h") {
        endDate = new Date(startDate.setHours(startDate.getHours()
                + duration_num));
    }
    if (durationTypeStr == "d") {
        endDate = new Date(startDate.setDate(startDate.getDate()
                + duration_num));
    }
    if (durationTypeStr == "w") {
        endDate = new Date(startDate.setDate(startDate.getDate()
                + duration_num * 7));
    }
    if (durationTypeStr == "m") {
        endDate = new Date(startDate.setMonth(startDate.getMonth()
                + duration_num));
    }
    if (durationTypeStr == "y") {
        endDate = new Date(startDate.setFullYear(startDate.getFullYear()
                + duration_num));
    }

    var year = endDate.getFullYear();
    var month = endDate.getMonth() + 1 < 10 ? "0"
            + (endDate.getMonth() + 1) : endDate.getMonth() + 1;
    var date = endDate.getDate() < 10 ? "0" + endDate.getDate() : endDate
            .getDate();
    var hour = endDate.getHours() < 10 ? "0" + endDate.getHours() : endDate
            .getHours();
    var minute = endDate.getMinutes() < 10 ? "0" + endDate.getMinutes()
            : endDate.getMinutes();
    var second = endDate.getSeconds() < 10 ? "0" + endDate.getSeconds()
            : endDate.getSeconds();
    var endDateStr = year + "-" + month + "-" + date + " " + hour + ":"
            + minute + ":" + second;
    return endDateStr;
}

/**
 * 計算開始時間是否小于結束時間,小于等于返回true,否則false
 * startDateStr:開始時間字符串
 * endDateStr:結束時間字符串
 * 返回:true或false
 * 
 * 
 */
function chkTime(startDateStr, endDateStr) {
    //計劃截止時間
    var startDate = new Date(startDateStr.replace("-", "/").replace("-",
            "/"));
    //計劃詳細項的截止時間
    var endDate = new Date(endDateStr.replace("-", "/").replace("-", "/"));
    if (startDate <= endDate) {
        return true;
    } else {
        return false;
    }
}</pre> 


 本文由用戶 bmbm 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!