1. 程式人生 > >js中兩個日期大小比較,獲取當前日期,日期加減一天

js中兩個日期大小比較,獲取當前日期,日期加減一天

兩個日期大小比較

  • 格式(yyyy-mm-dd):
/*
*引數a: 例如 "2017-08-23"
*引數b: 例如 "2017-11-06"
*flag: String型別,判斷兩個日期大小的標識。(自己定義就行)
*/
 function duibi(a, b,flag) {
        var arr = a.split("-");
        var starttime = new Date(arr[0], arr[1], arr[2]);
        var starttimes = starttime.getTime();
        var arrs = b.split("-"
); var endTime = new Date(arrs[0], arrs[1], arrs[2]); var endTimes = endTime.getTime(); if (endTimes >= starttimes) { flag = "true"; return flag; }else{ flag = "false"; return flag;     } }
  • 格式(yyyy-mm-dd hh:mi:ss)
    function comptime() {
                var beginTime = "2009-09-21 00:00:00";
        var endTime = "2009-09-21 00:00:01";
        var beginTimes = beginTime.substring(0, 10).split('-');
        var endTimes = endTime.substring(0, 10).split('-');
        beginTime = beginTimes[1] + '-' + beginTimes[2
] + '-' + beginTimes[0] + ' ' +beginTime.substring(10, 19); endTime = endTimes[1] + '-' + endTimes[2] + '-' + endTimes[0] + ' ' + endTime.substring(10, 19); alert(beginTime + "aaa" + endTime); alert(Date.parse(endTime)); alert(Date.parse(beginTime)); var a = (Date.parse(endTime) - Date.parse(beginTime)) / 3600 / 1000; if (a < 0) { alert("endTime小!"); } else if (a > 0) { alert("endTime大!"); } else if (a == 0) { alert("時間相等!"); } else { return 'exception' } }

JS中獲取日期前一個月的日期

#引數date格式 : yyyy-mm-dd
    function getPreMonth(date) {
        var arr = date.split('-');
        var year = arr[0]; //獲取當前日期的年份
        var month = arr[1]; //獲取當前日期的月份
        var day = arr[2]; //獲取當前日期的日
        var days = new Date(year, month, 0);
        days = days.getDate(); //獲取當前日期中月的天數
        var year2 = year;
        var month2 = parseInt(month) - 1;
        if (month2 == 0) {
            year2 = parseInt(year2) - 1;
            month2 = 12;
        }
        var day2 = day;
        var days2 = new Date(year2, month2, 0);
        days2 = days2.getDate();
        if (day2 > days2) {
            day2 = days2;
        }
        if (month2 < 10) {
            month2 = '0' + month2;
        }
        var t2 = year2 + '-' + month2 + '-' + day2;
        return t2;
}

日期加減一天

#String 轉為 data:  ("yyyy-MM-dd")格式的字串  轉為 //Wed Jul 05 2017 13:50:11 GMT+0800 (中國標準時間)
    function convertDateFromString(dateString) {
            if (dateString) {
                var date = new Date(dateString.replace(/-/,"/"))
                return date;
        }
    }

# 格式化日期 : Wed Jul 05 2017 13:50:11 GMT+0800 (中國標準時間) 准尉  格式為 yyyy-mm-dd 的日期型別     */
    function formatTime(date) {
        var year = date.getFullYear();
        var month = date.getMonth()+1, month = month < 10 ? '0' + month : month;
        var day = date.getDate(), day =day < 10 ? '0' + day : day;
        return year + '-' + month + '-' + day;
    }

例子: var test = convertDateFromString("2017-10-11");//返回標準的中國時間
    test = formatTime(test);//返回  yyyy-mm-dd 的Date型別
    var now = test.split('-')
    now = new Date(Number(now['0']),(Number(now['1'])-1),Number(now['2']))
    now.setDate(now.getDate() - 1); #setDate()方法實現 加 或 減 一天(可以避免 1號時減一天出錯的情況),setDate()方法不會返回任何值,但呼叫者now會發生改變
    var xx = formatTime(now);

希望對大家有所幫助!