时间字符串格式的转化

2019-08-29  本文已影响0人  追马的时间种草

将时间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秒"
上一篇下一篇

猜你喜欢

热点阅读