|
Restar horas en javascript |
|
Debido a mi trabajo, hoy debía crear una función para hacer unos calculos con fechas, y una de las operaciones primarias era el poder restar dos horas en Javascript.
He googleado y he encontrado el código que necesitaba. No pongo la fuente porque estaba en el trabajo y no la he apuntado, la buscaré para apuntarla. El código es sencillo y fácil de modificar. La función se llama "calcular" y le pasamos las dos horas por parámetros con el siguiente formato: hh:mm:ss. Es necesario que sea con este formato ya que sino no funcionará. function calcular(v1,v2) { horas1=v1.split(":"); /*Mediante la función split separamos el string por ":" y lo convertimos en array. */ horas2=v2.split(":"); horatotale=new Array(); for(a=0;a<3;a++) /*bucle para tratar la hora, los minutos y los segundos*/ {
horas1[a]=(isNaN(parseInt(horas1[a])))?0:parseInt(horas1[a]) /*si horas1[a] es NaN lo convertimos a 0, sino convertimos el valor en entero*/ horas2[a]=(isNaN(parseInt(horas2[a])))?0:parseInt(horas2[a]) horatotale[a]=(horas1[a]-horas2[a]);/* insertamos la resta dentro del array horatotale[a].*/ } horatotal=new Date() /*Instanciamos horatotal con la clase Date de javascript para manipular las horas*/ horatotal.setHours(horatotale[0]); /* En horatotal insertamos las horas, minutos y segundos calculados en el bucle*/ horatotal.setMinutes(horatotale[1]); horatotal.setSeconds(horatotale[2]); return horatotal.getHours()+":"+horatotal.getMinutes()+":"+horatotal.getSeconds(); /*Devolvemos el valor calculado en el formato hh:mm:ss*/
}
|