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