2017-10-17 26 views
0

Temps numérique pour lire la durée en utilisant javascript

Par exemple:

02:15 

Je voudrais garder que tout comme dans la base de données, mais dans mon impression vue comme, en utilisant cet exemple:

2h 15m 

de zéro Unnecessary enlevé, espacés et avec "h" ajouté pour "heures" et "m" pour "minutes". Aussi, si aucune heure ne serait spécifiée, je préférerais seulement obtenir les minutes, et vice versa si aucune minute n'est spécifiée.

Tous les exemples que j'ai l'air de trouver concernent la conversion d'un horodatage complet en utilisant la fonction "Date" en JavaScript. Je ne semble pas pouvoir utiliser cela avec juste cette valeur et je suis terrible avec regex.

Je voudrais trouver une manière élégante, peut-être une ligne régulière d'une ligne pour le remplacer avant de rendre ma vue. Je préférerais ne pas utiliser de bibliothèques supplémentaires.

Toute aide appréciée!

Répondre

0

Je semble avoir réussi malgré tout. Ce n'est pas aussi joli que je le voudrais, mais ça marche, et c'est techniquement une regex d'une ligne.

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

retours:

5m 
1h 
12h 10m 
2h 2m