JS日期格式转换

将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));

前端新手菜鸟 求指点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值