zoukankan      html  css  js  c++  java
  • Angularjs中比较实用的DateFormat库

    angular.module('newApp')
      .factory('dateUtil', function() {
        var symbolMap = {
          'MM': function(date) {
            if (typeof(date) === 'string') {
              var d = new Date(date);
              return d.getMonth();
            }
            return date.getMonth() + 1;
          },
          'mm': function(date) {
            if (typeof(date) === 'string') {
              var d = new Date(date);
              return d.getMinutes();
            }
            return date.getMinutes();
          },
          'YY': function(date) {
            if (typeof(date) === 'string') {
              var d = new Date(date);
              return d.getFullYear();
            }
            return date.getFullYear();
          },
          'ss': function(date) {
            if (typeof(date) === 'string') {
              var d = new Date(date);
              return d.getSeconds();
            }
            return date.getSeconds();
          },
          'hh': function(date) {
            if (typeof(date) === 'string') {
              var d = new Date(date);
              return d.getHours();
            }
            return date.getHours();
          },
          'dd': function(date) {
            if (typeof(date) === 'string') {
              var d = new Date(date);
              return d.getDate();
            }
            return date.getDate();
          }
        };
    
        function _makeNchar(char, n) {
          var str = [];
          while (n--) {
            str.push(char);
          }
          return str.join('');
        }
    
        function alignNumber(num, len, char) {
          num = num + '';
          if (num.length > len) {
            return num;
          } else {
            return _makeNchar(char, len - num.length) + num;
          }
        }
    
        function getRelativeDate(offset, date) {
          var relativeDate = new Date(date),
            dateValue = relativeDate.getDate() + offset;
          relativeDate.setDate(dateValue);
          return relativeDate;
        }return {
          format: function(date, fmtStr) {
            if (fmtStr) {
              return fmtStr.replace((/(MM|mm|YY|ss|hh|dd)/g), function(s) {
                return alignNumber(symbolMap[s](date), 2, '0');
              });
            }
          },
          getRelativeDate: getRelativeDate
        };
      });
  • 相关阅读:
    vue-router的push和replace的区别
    ajax请求常见状态码以及产生的原因
    vue定义data的三种方式与区别
    button与input button区别
    变量的声明方式
    js变量
    JavaScript的节流与防抖?
    js实现继承的方法-构造函数
    前端表单验证常用的15个JS正则表达式
    ES6中的新增数组的方法
  • 原文地址:https://www.cnblogs.com/ccblogs/p/5266489.html
Copyright © 2011-2022 走看看