JSFiddle - React, Tailwind, and code Playground

by bladnman

JavaScript

function convert_time(duration) {
    var a = duration.match(/\d+/g);

    if (duration.indexOf('M') >= 0 && duration.indexOf('H') == -1 && duration.indexOf('S') == -1) {
        a = [0, a[0], 0];
    }

    if (duration.indexOf('H') >= 0 && duration.indexOf('M') == -1) {
        a = [a[0], 0, a[1]];
    }
    if (duration.indexOf('H') >= 0 && duration.indexOf('M') == -1 && duration.indexOf('S') == -1) {
        a = [a[0], 0, 0];
    }

    duration = 0;

    if (a.length == 3) {
        duration = duration + parseInt(a[0]) * 3600;
        duration = duration + parseInt(a[1]) * 60;
        duration = duration + parseInt(a[2]);
    }

    if (a.length == 2) {
        duration = duration + parseInt(a[0]) * 60;
        duration = duration + parseInt(a[1]);
    }

    if (a.length == 1) {
        duration = duration + parseInt(a[0]);
    }
    return duration
}

console.log('PT1S: ' + convert_time('PT1S'));
console.log('PT1M: ' + convert_time('PT1M'));
console.log('PT1H: ' + convert_time('PT1H'));
console.log('PT1M1S: ' + convert_time('PT1M1S'));
console.log('PT1H1S: ' + convert_time('PT1H1S'));
console.log('PT1H1M1S: ' + convert_time('PT1H1M1S'));