2017-10-17 9 views
0

私はclockpickerを使用して、文字列にデジタルタイムスタンプを与えるユーザー入力を収集しています。例えばjavacriptを使用したデジタル時間の読み取り可能時間

02:15 

私はこの例を使用して、としてデータベースではなく、私の見解印刷であるとしてこれを維持したいと思います:

2h 15m 

不要なゼロの取り出し、間隔を置いて配置し、 「時間」には「h」、「分」には「m」が追加されています。また、時間が指定されていない場合は、分を取得することを好むでしょうし、分が指定されていない場合はその逆です。

私が見つけたすべての例は、JavaScriptの「日付」機能を使用して完全なタイムスタンプを変換することです。私はちょうどこの値でそれを使用することができないようだし、私は正規表現でひどいです。

私はエレガントな方法、おそらく私のビューをレンダリングする前にそれを置き換えるための1行の正規表現を探したいと思います。私は追加のライブラリを使用しないことを好むでしょう。

答えて

0

私はとにかく管理しているようです。 私はそれが欲しいと思っているほど美しくはありませんが、それは機能し、技術的には1行の正規表現です。

t = "00:05"; 
    t2 = "01:00"; 
    t3 = "12:10"; 
    t4 = "02:02"; 

    const replaceTime = (myString) => { 
    myString = myString.replace(/0?([1-9]{0,}[0-9]):0?([1-9]{0,}[0-9])/g, '$1h $2m').replace(/\s0m/g, '').replace(/0h\s/g, ''); 
    return myString; 
    } 

    console.log(replaceTime(t)); 
    console.log(replaceTime(t2)); 
    console.log(replaceTime(t3)); 
    console.log(replaceTime(t4)); 

リターン:

5m 
1h 
12h 10m 
2h 2m 
関連する問題