美文网首页
日期格式转换

日期格式转换

作者: 檃_ | 来源:发表于2018-09-16 20:56 被阅读0次

    将xx-xx-xx xx:xx:xx
    或者xx/xx/xx xx:xx:xx
    或xx-xx-xx xx-xx-xx格式的时间
    转换为中文的xx年xx月xx日 xx时xx分xx秒

    今天的自己写的三种,个人最满意的是第三种,不过第二种好像最简单粗暴
    这只是初学者的写法,希望有大神指点更简单高效的方法
    第一种

    var str = '2018-9-10 21:18:25';
        var str = str.replace(/-/,function(){
            return '年'
        });
        str = str.replace(/-/,function(){
            return '月'
        });
        str = str.replace(/ /,function(){
            return '日 '
        });
        str = str.replace(/:/,function(){
            return '时'
        });
        str = str.replace(/:/,function(){
            return '分'
        });
        str = str.replace(/$/,function(){
            return '秒'
        });
        console.log(str);
    

    第二种

    var str = '2018/9/10 21:18:25';
        str = str.replace(/(\/|-)/, '年');
        str = str.replace(/(\/|-)/, '月');
        str = str.replace(' ','日 ');
        str = str.replace(/(:|-)/,'时');
        str = str.replace(/(:|-)/,'分');
        str = str.replace(/$/,'秒');
        console.log(str);
    

    第三种

    function dateReplace (str){
        function zero(n){
            if(n<10) return '0'+n;
            return n;
        }
        reg = /(\d{4})(-|\/)(\d{2}|\d)(-|\/)(\d{2}|\d)( )
                  (\d{2}|\d)(:)(\d{2}|\d)(:)(\d{2}|\d)/g;
              //代码折行只是为了方便阅读  
        var cur = reg.exec(str);
        var temp = cur[1]+'年'+zero(cur[3])+'月'+zero(cur[5])+'日'+cur[6]
                  +zero(cur[7])+ '时'+zero(cur[9])+'分'+zero(cur[11])+'秒';
              //代码折行只是为了方便阅读  
        return temp;
    }
    var str = '2018/9/10 21:18:25';
    console.log(dateReplace(str));
    // 例子
    var str = '2018-11/29 3:10:55';
    console.log(dateReplace(str));
    

    相关文章

      网友评论

          本文标题:日期格式转换

          本文链接:https://www.haomeiwen.com/subject/ijwfnftx.html