zoukankan      html  css  js  c++  java
  • JavaScript之Date日期对象扩展

     各种时间加减 收藏起来以备后用

       //名称:日期加法函数
       //参数:part(year、month、day、hour、minute、second、millisecond)
       //返回:Date对象
       Date.prototype.add = function(part, value) {
           if (!value || isNaN(value)) value = 0;
           switch (part) {
               case "year":
                   this.setFullYear(this.getFullYear() + value);
                   break;
               case "month":
                   this.setMonth(this.getMonth() + value);
                   break;
               case "day":
                   this.setDate(this.getDate() + value);
                   break;
               case "hour":
                   this.setHours(this.getHours() + value);
                   break;
               case "minute":
                   this.setMinutes(this.getMinutes() + value);
                   break;
               case "second":
                   this.setSeconds(this.getSeconds() + value);
                   break;
               case "millisecond":
                   this.setMilliseconds(this.getMilliseconds() + value);
                   break;
               default:
           }
           return this;
       };
    
       Date.prototype.addYears = function(value) {
           if (!value || isNaN(value)) value = 0;
           this.setFullYear(this.getFullYear() + value);
           return this;
       };
    
       Date.prototype.addMonths = function(value) {
           if (!value || isNaN(value)) value = 0;
           this.setMonth(this.getMonth() + value);
           return this;
       };
    
       Date.prototype.addDays = function(value) {
           if (!value || isNaN(value)) value = 0;
           this.setDate(this.getDate() + value);
           return this;
       };
    
       Date.prototype.addHours = function(value) {
           if (!value || isNaN(value)) value = 0;
           this.setHours(this.getHours() + value);
           return this;
       };
    
       Date.prototype.addMinutes = function(value) {
           if (!value || isNaN(value)) value = 0;
           this.setMinutes(this.getMinutes() + value);
           return this;
       };
    
       Date.prototype.addSeconds = function(value) {
           if (!value || isNaN(value)) value = 0;
           this.setSeconds(this.getSeconds() + value);
           return this;
       };
    
       Date.prototype.addMilliseconds = function(value) {
           if (!value || isNaN(value)) value = 0;
           this.setMilliseconds(this.getMilliseconds() + value);
           return this;
       };
    
       //名称:日期加法函数
       //参数:time(日期字符串,示例:12:00:00)
       //返回:Date对象
       Date.prototype.addTime = function(time) {
           var timeRegex = /^([0-1]?d|2[0-3])(:[0-5]?d){1,2}$/g;
           if (timeRegex.test(time)) {
               var value = Date.parse("1970/1/1 " + time) - Date.parse("1970/1/1");
               this.setMilliseconds(this.getMilliseconds() + value);
           }
           return this;
       };
    
       //名称:日期格式化函数
       //参数:format(示例:yyyy-MM-dd hh:mm:ss)、zeroize(是否补零)
       //返回:日期字符串
       Date.prototype.toCustomString = function(format, zeroize) {
           if (!zeroize) zeroize = false;
           var dy = this.getFullYear();
           var dM = this.getMonth() + 1;
           var dd = this.getDate();
           var dh = this.getHours();
           var dm = this.getMinutes();
           var ds = this.getSeconds();
           var dS = this.getMilliseconds();
           var orm = {
               "y+": dy.toString(),
               "M+": !zeroize ? dM.toString() : dM < 10 ? ‘0‘ + dM : dM.toString(),
               "d+": !zeroize ? dd.toString() : dd < 10 ? ‘0‘ + dd : dd.toString(),
               "h+": !zeroize ? dh.toString() : dh < 10 ? ‘0‘ + dh : dh.toString(),
               "m+": !zeroize ? dm.toString() : dm < 10 ? ‘0‘ + dm : dm.toString(),
               "s+": !zeroize ? ds.toString() : ds < 10 ? ‘0‘ + ds : ds.toString(),
               "S": dS.toString()
           };
           for (var i in orm) {
               var patt = new RegExp(i);
               if (patt.test(format)) {
                   var item = orm[i];
                   var ms = format.match(patt);
                   var result = ms[0];
                   if (i === "S") {
                       format = format.replace(result, item);
                   } else {
                       format = format.replace(result, item.substr(item.length - result.length));
                   }
               }
           }
           return format;
       };

    如果这篇文章对您有帮助,您可以打赏我

    技术交流QQ群:15129679

  • 相关阅读:
    毕业五年后的差距
    基于jsonlib.jar包Json程序 实战篇
    Hashtable
    [转]浏览器是怎样工作的:渲染引擎,HTML解析
    Web.config之连接字介绍
    jQuery选择器全解【转】
    JavaScript document属性和方法
    zoj 2316 Matrix Multiplication 夜
    zoj 2318 Get Out! 夜
    hdu 3666 THE MATRIX PROBLEM 夜
  • 原文地址:https://www.cnblogs.com/yeminglong/p/9857637.html
Copyright © 2011-2022 走看看