JSFiddle - React, Tailwind, and code Playground
Timecode : seconds to HH:MM:SS
by brasofilo
HTML
<input type="text" placeholder="entre com os segundos" id="secs-input" /> <input type="submit" id="converter" value="Converter" />
<p id="result"></p>
CSS
#secs-input {
width: 150px;
}
JavaScript
// http://stackoverflow.com/a/13904120/1287812
// http://stackoverflow.com/a/6313008/1287812
// http://stackoverflow.com/q/21045010/1287812
String.prototype.toHHMMSS = function () {
console.log(test(this));
var sec_num = parseInt(this, 10); // don't forget the second param
var hours = Math.floor(sec_num / 3600);
var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
var seconds = sec_num - (hours * 3600) - (minutes * 60);
if( hours == 0 ) { hours = ''; }
else if ( hours < 10) { hours = "0" + hours + ':'; }
else hours = hours + ':';
if( minutes == 0 ) { minutes = '00:'; }
else if ( minutes < 10 ) { minutes = "0" + minutes + ':'; }
else minutes = minutes + ':';
if ( seconds < 10 ) { seconds = "0" + seconds; }
return hours + minutes + seconds;
}
function test( delta ) {
// calculate (and subtract) whole days
var days = Math.floor(delta / 86400);
delta -= days * 86400;
// calculate (and subtract) whole hours
var hours = Math.floor(delta / 3600) % 24;
delta -= hours * 3600;
// calculate (and subtract) whole minutes
var minutes = Math.floor(delta / 60) % 60;
delta -= minutes * 60;
// what's left is seconds
var seconds = delta % 60; // in theory the modulus is not required
console.log( days,hours,minutes,seconds );
}
function temposCurtos( time )
{
if( parseInt( time ) == 0 )
return '';
if( time < 10 )
return '0' + time;
return time;
}
function segundosParaTempo( total )
{
var sec = temposCurtos( total % 60 );
var min = temposCurtos( parseInt( total / 60 ) );
var fullmins = ( min != '' ) ? min + ':' : '';
var hours = temposCurtos( parseInt( min / 60 ) );
var fullhours = ( hours != '' ) ? hours + ':' : '';
return ( fullhours + fullmins + sec );
}
$('#converter').click( function() {
$('#result').text( $('#secs-input').val().toHHMMSS() );
});