J实现时间格式的转换(附加对象的转换)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>时间格式转换</title>
</head>
<body>
<script type="text/javascript">
    //思考题
    //需求:我有一个时间字符串 '2017-4-22 18:9:35'  => '2017年04月22日 18时09分35秒' 或者 '04-22 18:09' ... 替换为任意想要的
   var str="2017-4-22 18:9:35";//->"2017年04月22日18是09分35秒" 或者 "04-22 19:09"
   var reg=/^(\d{4})-(\d{1,2})-(\d{1,2})\s(\d{1,2}):(\d{1,2}):(\d{1,2})$/g;

   console.log(str.replace(reg, function () {
       for (var i = 0; i < arguments.length; i++) {
           arguments[i]=addZero(arguments[i]);
       }
       return arguments[1] + "" + arguments[2] + "" + arguments[3] + "" + arguments[4] + "" + arguments[5] + "" + arguments[6] + "";
   }));

   console.log(str.replace(reg, function () {
       for (var i = 0; i < arguments.length; i++) {
           arguments[i]=addZero(arguments[i]);
       }
       return arguments[2] + "-" + arguments[3] + " " + arguments[4] + ":" + arguments[5] ;
   }));

   function addZero() {
       if(arguments[0].length==1){
           return "0"+arguments[0];
       }else{
           return arguments[0];
       }
   }

    //==================附加==============
    //需求:我有一个字符串 'xxx.xxx.xx?a=1&b=2&c=3'  => {a:1,b:2,c:3}
    var str1="xxx.xxx.xx?a=1&b=2&c=3";//->{a:1,b:2,c:3}

    var reg1=/\w{3}\.\w{3}\.\w{2}\?a=(\d+)&b=(\d+)&c=(\d+)/g;
    console.log(str1.replace(reg1, function () {
        return "{a:" + arguments[1] + ",b:" + arguments[2] + ",c:" + arguments[3] + "}";
    }));
</script>
</body>
</html>

 

posted @ 2017-10-24 17:22  Scar007  阅读(237)  评论(0编辑  收藏  举报