Digamos que eu tenha o seguinte input <input type="text" value="2020-11-09 15:20:30" id="valor-tempo" >
como eu faço pra pegar apenas a hora e os minutos em javascript. Eu gostaria de retornar apenas 15:20 por exemplo.
vc pode fazer um split
let input_hora = document.getElementById('valor-tempo').value;
let hora = input_hora.split(" ")[1]
input_hora = hora;
pode converter e ir montando a string:
let input_hora = document.getElementById('valor-tempo').value;
let hora = new Date(input_hora)
let result = `${hora.getHours()}:${hora.getMinutes()}:${hora.getSeconds()}`
input_hora = result;
e pode usar o moment:
const moment = require('moment')
let input_hora = document.getElementById('valor-tempo').value;
input_hora = moment(input_hora).format("HH:mm:ss");
Perfeito vlw !!!
Se eu tivesse dois inputs com datas como e e eu quisesse somar apenas as horas retornando por exemplo 10:00:00 como eu faria???
quer somar dois inputs e mostrar em um terceiro?
Eu queria somar as horas e retornar em um h1
Já estou usando esse codigo o problema é que eu não sei como fazer para converter o String em data
os códigos que passei acima faz isso
Então acho que não estou fazendo certo
<input type="text" value="2020-11-10 15:20" id="valor-tempo" >
<input type="text" value="2020-11-10 01:20" id="adicionar-tempo" >
<script type="text/javascript">
let input_hora = document.getElementById('valor-tempo').value;
let data = new Date(input_hora)
let a = `${data.getHours()}:${data.getMinutes()}`
let input_hora2 = document.getElementById('adicionar-tempo').value;
let data2 = new Date(input_hora2)
let b = `${data2.getHours()}:${data2.getMinutes()}`
var adicionar = document.getElementById("adicionar-tempo").value;
var pega_tempo = document.getElementById("valor-tempo").value;
function somaHora(a, b, zerarHora) {
if(a.length != 5 || b.length != 5) return "00:00";
temp = 0;
nova_h = 0;
novo_m = 0;
hora1 = a.substr(0, 2) * 1;
hora2 = b.substr(0, 2) * 1;
minu1 = a.substr(3, 2) * 1;
minu2 = b.substr(3, 2) * 1;
temp = minu1 + minu2;
while(temp > 59) {
nova_h++;
temp = temp - 60;
}
novo_m = temp.toString().length == 2 ? temp : ("0" + temp);
temp = hora1 + hora2 + nova_h;
while(temp > 23 && zerarHora) {
temp = temp - 24;
}
nova_h = temp.toString().length == 2 ? temp : ("0" + temp);
return nova_h + ":" + novo_m;
}
novaHora = somaHora(a,b, false);
console.log(novaHora);
</script>