Jump to content

Transformar decimal em hora, minutos e segundos.


Hercles

Recommended Posts

Olá caros! estou reproduzindo uma formula do excel para o html e faltam somente uns detalhes... A função retorna um valor que eu acho que deve ser o calculo em decimal de horas. No excel se eu formatar a celular em número e não em hora, aparece este mesmo valor. Como faço pra obter o resultado abaixo em horas, minutos e segundos. Este resultado menos duas 2 horas (-2h)? 

Grato pela atenção.

<script>

function calcularAut(){

var aut = 0;

var G14 = document.querySelector('#cmar1').value;

var E13 = document.querySelector('#volc1').value;

var D10 = document.querySelector('#cilCheio').value;

var I14 = document.querySelector('#lm1').value;

var C19 = 2; // aqui deveria ser 2 horas (quero que subtraia 2 horas.

aut = ((((G14*(E13/D10)/24)/(I14*60)))*0.9)-C19;

document.querySelector('#autCil1').value = aut;

}

</script>
 
Link to comment
Share on other sites

4 horas atrás, Zex disse:

É melhor dizeres mais dados.

Qual é a fórmula do excell?

Diz um exemplo dos números de entrada e números de saída.

não seria exatamente uma fomula, é este calculo =>   ((((G14*(E13/D10)/24)/(I14*60)))*0.9)-C19;

 

 

var G14 = document.querySelector('#cmar1').value; // aqui seria quanto esta marcando no regulador do cilindro.

var E13 = document.querySelector('#volc1').value; var // volume do cilindro

D10 = document.querySelector('#cilCheio').value; //um referencia de pressão.

var I14 = document.querySelector('#lm1').value;  // quantidade de litros por minutos (paciente consome) 

var C19 = 2; // aqui deveria ser 2 horas (quero que subtraia 2 horas. // retira menos duas horas pra ter o tempo de entrega.

 

o calculo funciona javascript, so que me da o valor em decimal. Tipo 1.79 (cilindro de 10m³)

Edited by Hercles
coloquei mais informação.
Link to comment
Share on other sites

8 horas atrás, Hercles disse:

o calculo funciona javascript, so que me da o valor em decimal. Tipo 1.79 (cilindro de 10m³)

se bem percebi o calculo de 1.79 horas em decimal estaria correcto e só faltaria transformar em 1h47m24s ?

algo assim:

console.log(new Date(1.79 * 3600 * 1000).toISOString().substr(11, 8))

output:
01:47:24
 
Link to comment
Share on other sites

29 minutos atrás, antseq disse:

se bem percebi o calculo de 1.79 horas em decimal estaria correcto e só faltaria transformar em 1h47m24s ?

algo assim:

console.log(new Date(1.79 * 3600 * 1000).toISOString().substr(11, 8))

output:
01:47:24
 

Eu resolvi desta forma, que não é uma maneira elegante.

 


 

<script>
function calcularAut(){
var G14 = document.querySelector('#cmar1').value;
var E13 = document.querySelector('#volc1').value;
var D10 = document.querySelector('#cilCheio').value;
var I14 = document.querySelector('#lm1').value;
                 
var TempoDecimal = ((((G14*(E13/D10)/24)/(I14*60)))*0.9);

var inteira =  Math.floor(TempoDecimal);
var decimal = TempoDecimal - Math.floor(TempoDecimal);

var horas = Math.floor(inteira*24 + decimal*24) - 2;
var zeroM ="";
var minutos = Math.floor((decimal*24 - Math.floor(decimal*24))*60); 
if(minutos < 10){zeroM = "0";}

var zeroS ="";
var McomDec = (decimal*24 - Math.floor(decimal*24))*60;
var segundos = Math.floor((McomDec - Math.floor(McomDec))*60);
if(segundos < 10){zeroS = "0";}
document.querySelector('#autCil1').value = horas + ":" + zeroM + minutos + ":" + zeroS + segundos;
}
</script>
 
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.