zoukankan      html  css  js  c++  java
  • 一个方便的日期格式器

    JavaScript的Date类型只能直接输出特定的形式的表示时间的字符,如:Tue Sep 20 2016 21:37:06 GMT+0800

    但我们很少需要输出这样格式的时间

    本文后面的代码,通过调用$.formatDate()函数,即可输出你想要的格式的时间

    如:

    var now=new Date();
    document。write($.formatDate(now,"M/d/yyyy HH:mm"));

    即可输出  9/20/2016 21:37

    document.write($.formatDate(now,"M/d/yy HH:mm"));
    document.write($.formatDate(now,"MM/d/yyyy HH:mm"));
    document.write($.formatDate(now,"EEE MMM, d yyyy hh:mm:ss.S a"));

    分别输出 9/20/16 21:43          09/20/2016 21:43

                 Wed Sep, 21 2016 07:22:28.767 PM

    其中,yyyy代表4位数字的年份,yy代表两位数字的年份;

            MMMM代表完整的英文月份名称,MMM代表月份英文名称的缩写,MM代表由0补足的两位数字的月份,M代表月份数字

           dd---由0补足的两位数字的月份中的天,d---月份中的天的缩写

           EEEE---星期的英文完整名称,EEE---星期的英文名称的缩写

           a---上午或下午

           HH---由0补足的,2位数字的2,24小时制的第几小时,H---一天中的第几小时,hh---由0补足的,2位数字的12小时制中的第几小时,h---12小时制的第几小时

           mm---由0补足的,2位数字的分钟数,m---一小时中的分钟数

           ss---由0补足的,2位数字的分钟数,s---一分钟内的秒数,S由0补足的,一秒内的毫秒数

         好啦,快收藏下面的代码愉快地使用Date吧!

     

    (function($){
      $.formatDate = function(date,pattern) {
        var result = [];
        while (pattern.length>0) {
          $.formatDate.patternParts.lastIndex = 0;
          var matched = $.formatDate.patternParts.exec(pattern);
          if (matched) {
            result.push($.formatDate.patternValue[matched[0]].call(this,date));
            pattern = pattern.slice(matched[0].length);
          }
          else {
            result.push(pattern.charAt(0));
            pattern = pattern.slice(1);
          }
        }
        return result.join('');
      };
    
      $.formatDate.patternParts =
        /^(yy(yy)?|M(M(M(M)?)?)?|d(d)?|EEE(E)?|a|H(H)?|h(h)?|m(m)?|s(s)?|S)/;
    
      $.formatDate.monthNames = [
        'January','February','March','April','May','June','July',
        'August','September','October','November','December'
      ];
    
      $.formatDate.dayNames = [
        'Sunday','Monday','Tuesday','Wednesday','Thursday','Friday',
        'Saturday'
      ];
    
      $.formatDate.patternValue = {
        yy: function(date) {
          return $.toFixedWidth(date.getFullYear(),2);
        },
        yyyy: function(date) {
          return date.getFullYear().toString();
        },
        MMMM: function(date) {
          return $.formatDate.monthNames[date.getMonth()];
        },
        MMM: function(date) {
          return $.formatDate.monthNames[date.getMonth()].substr(0,3);
        },
        MM: function(date) {
          return $.toFixedWidth(date.getMonth()+1,2);
        },
        M: function(date) {
          return date.getMonth()+1;
        },
        dd: function(date) {
          return $.toFixedWidth(date.getDate(),2);
        },
        d: function(date) {
          return date.getDate();
        },
        EEEE: function(date) {
          return $.formatDate.dayNames[date.getDay()];
        },
        EEE: function(date) {
          return $.formatDate.dayNames[date.getDay()].substr(0,3);
        },
        HH: function(date) {
          return $.toFixedWidth(date.getHours(),2);
        },
        H: function(date) {
          return date.getHours();
        },
        hh: function(date) {
          var hours = date.getHours();
          return $.toFixedWidth(hours>12 ? hours - 12 : hours,2);
        },
        h: function(date) {
          return date.getHours()%12;
        },
        mm: function(date) {
          return $.toFixedWidth(date.getMinutes(),2);
        },
        m: function(date) {
          return date.getMinutes();
        },
        ss: function(date) {
          return $.toFixedWidth(date.getSeconds(),2);
        },
        s: function(date) {
          return date.getSeconds();
        },
        S: function(date) {
          return $.toFixedWidth(date.getMilliseconds(),3);
        },
        a: function(date) {
          return date.getHours() < 12 ? 'AM' : 'PM';
        }
      };
    
      $.toFixedWidth = function(value,length,fill) {
        var result = (value || '').toString();
        fill = fill || '0';
        var padding = length - result.length;
        if (padding < 0) {
          result = result.substr(-padding);
        }
        else {
          for (var n = 0; n < padding; n++) result = fill + result;
        }
        return result;
      };
    
    })(jQuery);
  • 相关阅读:
    Linux中配置别名
    Linux下的IO监控与分析
    RHEL6 Systemtap 安装笔记
    记一次多事件绑定中自己给自己设置的坑——click,dblclick,mousedown,mousemove,mouseup
    springboot打jar获取不到static静态资源文件问题
    关于springboot默认日志框架Slf4j+logback,自定义Appender问题
    spring 时间格式问题
    springboot 部署到tomcat,获取根路径问题。空格变为%20
    前后端分离 vue+springboot 跨域 session+cookie失效问题
    springboot 部署到tomcat中,项目总是重新部署
  • 原文地址:https://www.cnblogs.com/nuannuan7362/p/5893904.html
Copyright © 2011-2022 走看看