js 日期格式化 方法

具体代码:

var str = '2015-9-22 13:8:0';
  function DateFormat(str){
      var reg = /^(\d{4})[-/](\d{1,2})[-/](\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})$/g;
      var arr = [];
      str.replace(reg,function(){
        arr = [].slice.call(arguments);
          //类数组对象转换成数组对象才可以用slice方法
        arr = arr.slice(1,7);
      });
      var resStr = "{0}年{1}月{2}日 {3}时{4}分{5}秒";//声明格式化结果的字符串
      resStr = resStr.replace(/{(\d)+}/g,function(){
            var num = arguments[1];//因为有小分组所以arguments[1]是 0 1 2 3 4 5 每次小分组捕获的内容
            if(arr[num].length == 1) arr[num] = "0"+arr[num];//做判断补0
            return arr[num];
      })
      return resStr;//返回结果
  }
  console.log(DateFormat(str))
传统方法
方法1.用字符串分割 split 然后去各种拼接
方法2.用日期函数 new Date()去转化 然后调用日期对象的各种方法最后去拼接。
上面的方法是利用正则:

1.正则的捕获 replace 方法
2.大正则,小正则
3.()正则分组
4.arguments 类数组对象
5.用replace的时候有分组和没有分组的情况 agruments[1]是不一样的。
6.argumetns类数组对象转换成数组对象的方法 call

补充:

1.通过这个方法我们就可以改变reg 和 resStr来改变我们想要的结果
2.可以把这个reg写的兼容性更多一些,支持一些多的格式。
3.可以在String这个构造类的原型上扩充方法,使得所有的字符串都可以用这个方法。
4.可以把resStr当做形参 传入需要的格式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,461评论 0 4
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 9,520评论 0 20
  • 本章内容 使用对象 创建并操作数组 理解基本的 JavaScript 类型 使用基本类型和基本包装类型 引用类型的...
    闷油瓶小张阅读 3,933评论 0 0
  • 《埋葬》 我想不明白 小虫子怎样钻进灯罩 集聚了黑色的一层尸体 难道是它们跪在灯外 夜夜向灯心祈祷、忏悔 请光埋葬...
    吴寒署阅读 2,571评论 0 0
  • 柳絮纷飞的今天 种一种希望在眼前 是花生也有绿豆 一颗颗沉醉在泥土之间 是昨天无私的春雨 湿润了久久干燥的心田 翻...
    垄上行云阅读 1,930评论 0 0