zoukankan      html  css  js  c++  java
  • js 日期格式化及日期增减

    //Demo:new Date().format("yyyy-MM-dd hh:mm:ss.SSS")
    Date.prototype.format = function (format) {
        var o = {
            "M+": this.getMonth() + 1, //month
            "d+": this.getDate(), //day
            "h+": this.getHours(), //hour
            "m+": this.getMinutes(), //minute
            "s+": this.getSeconds(), //second
            "q+": Math.floor((this.getMonth() + 3) / 3), //quarter
            "S": this.getMilliseconds() //millisecond
        }
        if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
        (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o) if (new RegExp("(" + k + ")").test(format))
            format = format.replace(RegExp.$1,
            RegExp.$1.length == 1 ? o[k] :
            ("00" + o[k]).substr(("" + o[k]).length));
        return format;
    }
    
    Date.prototype.addYears = function (num) {
        num = parseInt(num);
    
        var sYear = this.getFullYear();
        var sMonth = this.getMonth();
        var sDay = this.getDate();
    
    
        var eYear = sYear + num;
        var eMonth = sMonth;
        var eDay = sDay;
    
        var eDate = new Date(eYear, eMonth, eDay);
    
        while (eDate.getMonth() != eMonth) {
            eDay--;
            eDate = new Date(eYear, eMonth, eDay);
        }
    
        var times = eDate.getTime() - new Date(sYear, sMonth, sDay).getTime();
        return new Date(new Date().getTime() + times);
    }
    //Demo:new Date().addMonths(-1)
    Date.prototype.addMonths = function (num) {
        num = parseInt(num);
    
        var sYear = this.getFullYear();
        var sMonth = this.getMonth() + 1;
        var sDay = this.getDate();
    
        var eYear = sYear;
        var eMonth = sMonth + num;
        var eDay = sDay;
        while (eMonth > 12) {
            eYear++;
            eMonth -= 12;
        }
        while (eMonth <= 0) {
            eYear--;
            eMonth += 12;
        }
    
        var eDate = new Date(eYear, eMonth - 1, eDay);
    
        while (eDate.getMonth() != eMonth - 1) {
            eDay--;
            eDate = new Date(eYear, eMonth - 1, eDay);
        }
    
        var times = eDate.getTime() - new Date(sYear, sMonth - 1, sDay).getTime();
        return new Date(new Date().getTime() + times);
    }
    
    Date.prototype.addDates = function (num) {
        return this.addHours(num * 24);
    }
    Date.prototype.addHours = function (num) {
        return this.addMinutes(num * 60);
    }
    Date.prototype.addMinutes = function (num) {
        return this.addSeconds(num * 60);
    }
    
    Date.prototype.addSeconds = function (num) {
        num = parseInt(num);
        return new Date(new Date().getTime() + num * 1000);
    }
  • 相关阅读:
    mysql完全卸载教程(图文详细)
    windows:安装django
    01 Java的NIO三大组件以及buffer的原理以及应用
    16 JDK8的concurrenthashmap的原理介绍
    07 Java源码字节码层面简单分析
    06 Java字节码的基础知识
    05 Java的class文件的组成介绍
    04 G1垃圾回收器的介绍以及垃圾回收调优的基础知识和简单案例
    03 JVM中垃圾回收算法以及典型的垃圾回收器
    02 Java的引用类型以及应用场景
  • 原文地址:https://www.cnblogs.com/xbzhu/p/7422136.html
Copyright © 2011-2022 走看看