zoukankan      html  css  js  c++  java
  • 时间加减(可以对年;月;日;时;分;秒;周进行加减)以及日期自定义格式化

    var myDate = new Date();

    重构日期格式化1:

    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;
            }

      重构日期格式化2(格式化当前时间为yyyy-mm-dd形式):

      function getNowFormatDate()
      {
        var day = new Date();
        var Year = 0;
        var Month = 0;   
        var Day = 0;
        var CurrentDate = "";
        //初始化时间
        //Year= day.getYear();//有火狐下2008年显示108的bug
        Year= day.getFullYear();//ie火狐下都可以
        Month= day.getMonth()+1;
        Day = day.getDate();
        //Hour = day.getHours();
        // Minute = day.getMinutes();
        // Second = day.getSeconds();
        CurrentDate += Year + "-";
        if (Month >= 10 )
        {
          CurrentDate += Month + "-";
        }
        else
        {
          CurrentDate += "0" + Month + "-";
        }
        if (Day >= 10 )
        {
          CurrentDate += Day ;
        }
        else
        {
          CurrentDate += "0" + Day ;
        }
          return CurrentDate;
        }

       重构日期加减:

            Date.prototype.DateAdd = function(strInterval, Number) {
                var dtTmp = this;
                switch (strInterval) {
                    case 's': return new Date(Date.parse(dtTmp) - (1000 * Number));
                    case 'n': return new Date(Date.parse(dtTmp) - (60000 * Number));
                    case 'h': return new Date(Date.parse(dtTmp) - (3600000 * Number));
                    case 'd': return new Date(Date.parse(dtTmp) - (86400000 * Number));
                    case 'w': return new Date(Date.parse(dtTmp) - ((86400000 * 7) * Number));
                    case 'q': return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) - Number * 3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
                    case 'm': return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) - Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
                    case 'y': return new Date((dtTmp.getFullYear() - Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
                }
            }
       alert(myDate.DateAdd('d', 7).format("yyyy-MM-dd hh:mm:ss"));

        //使用方法
            var now = new Date();
            var nowStr = now.format("yyyy-MM-dd hh:mm:ss");
            //使用方法2:
            var testDate = new Date();
            var testStr = testDate.format("YYYY年MM月dd日hh小时mm分ss秒");
            alert(testStr);
            //示例:
            alert(new Date().Format("yyyy年MM月dd日"));
            alert(new Date().Format("MM/dd/yyyy"));
            alert(new Date().Format("yyyyMMdd"));
            alert(new Date().Format("yyyy-MM-dd hh:mm:ss"));

  • 相关阅读:
    快速排序算法
    CopyOnWrite容器
    map函数的使用
    Hashmap的源码分析
    Tree数据从后台处理类
    Java开学考试感受
    第49讲:乱入——生成器
    第48讲:魔方方法——迭代器
    第47讲:魔方方法——定制序列
    第46讲:魔方方法——描述符(property的原理)
  • 原文地址:https://www.cnblogs.com/yuhanzhong/p/2875295.html
Copyright © 2011-2022 走看看