将时间time='2019-8-28 12:6:23'
转化成2019年07月24日 12时06分23秒
方案一:(太low)
//利用replace方法将连接符进行替换相应的字
let time='2019-8-28 12:6:23'
time=time.replace('-','年').replace('-','月').replace('','日').replace(':','时').replace(':','分')+'秒'
方案二:(太麻烦)
//先找出连接符的索引值,再进行字符串截取,拼接
var time='2019-8-28 12:6:23'
var y=time.indexOf('-')
var m=time.lastIndexOf('-')
var d=time.indexOf(' ')
var h=time.indexOf(':')
var minu=time.lastIndexOf(':')
time=time.substring(0,y)+'年'+time.substring(y+1,m)+"月"+time.substring(m+1,d)+"日"+time.substring(d+1,h)+"时"+time.substring(h+1,minu)+"分"+time.substring(minu+1)+"秒"
console.log(time)
方案三:(提倡)
//建议先熟悉正则,再看此方法。
//利用正则将字符串连接符捕获,再以这些连接符进行分割返回数组
//再进行拼接
//不足补零
var time='2019-8-28 12:6:23'
let addZero=val=>val.length<2?'0'+val:val;
let ary=time.split(/(?: |-|:)/g);//["2019", "8", "28", "12", "6", "23"];
time=ary[0]+'年'+addZero(ary[1])+'月'+addZero(ary[2])+'日'+''+ary[3]+"时"+addZero(ary[4])+'分'+addZero(ary[5])+'秒'
console.log(time)//"2019年08月28日 12时06分23秒"
网友评论