Foros del Web » Administración de Sistemas » Unix / Linux »

Tomar un numero y convertirlo en hora

Estas en el tema de Tomar un numero y convertirlo en hora en el foro de Unix / Linux en Foros del Web. Hola compañeros. He buscado en internet y no he podido encontrar nada de como realizar un resta o suma de horas, en el formato que ...
  #1 (permalink)  
Antiguo 27/02/2014, 14:43
 
Fecha de Ingreso: mayo-2010
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
Tomar un numero y convertirlo en hora

Hola compañeros. He buscado en internet y no he podido encontrar nada de como realizar un resta o suma de horas, en el formato que les explico abajo.

Tengo un proceso que arranca a las 22:03:00

Por medio de unos parametros, los cuales utilizo para extraer esa infomacion, me lo muestra asi:

220300 --> siendo 22h03m00S

Y termina tipo 04:50:00 del otro día. Mostrandome el valor asi:

45000

La consulta seria.. como puedo hacer para saber cuanto tiempo estubo corriendo dicho proceso.. Se que por medio de una resta... pero ahi es el tema.. nose como hacer para que me reste esos valores.

Espero puedan darme una mano, muchas gracias.
  #2 (permalink)  
Antiguo 28/02/2014, 05:44
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años
Puntos: 127
Respuesta: Tomar un numero y convertirlo en hora

con php, es el mas facil que conosco
pero puedes hacerlo en bash, perl, y en cualquier lenguaje de programacion desente.
  #3 (permalink)  
Antiguo 04/03/2014, 10:09
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Tomar un numero y convertirlo en hora

Bash no permite la manipulación que necesitás, al menos no directamente (siempre podrías escribir un algoritmo que cuente la diferencia de horas y luego la diferencia de minutos). La mejor forma es usar un lenguaje como Perl, Python o PHP, que seguramente ya estará disponible en tu sistema. Por ejemplo, en Python el código sería:
Código Python:
Ver original
  1. >>> from datetime import datetime, timedelta
  2. >>> inicio = "220300"
  3. >>> fin = "045000"
  4. >>> inicio_dt = datetime.strptime(inicio, '%H%M%S')
  5. >>> fin_dt = datetime.strptime(fin, '%H%M%S')
  6. >>> fin_dt - inicio_dt
  7. datetime.timedelta(-1, 28800)
  8. >>> s = (fin_dt - inicio_dt).seconds
  9. >>> print "%02d:%02d:%02d" % (s // 3600, (s % 3600) // 60, s % 60)
  10. 06:47:00

Etiquetas: ip, numero, tomar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:48.