Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Calculo de fecha y hora

Hola...

Tengo el campo FECHA y otro campo HORA, y necesito calcular la cantidad de horas transcurridas desde esa FECHA y HORA, hasta el presente.

Por ejemplo

FECHA = 29/05/2012

HORA = 20:30:00

Fecha y hora actual: 30/05/2012 - 08:00:00

El resultado seria: 11:30:00

Alguien sabe como calcularlo?

9 Replies
Miguel_Angel_Baeyens

Hola,

En principio, bastaría con concatenar o sumar los campos de fecha y hora, restarlos, y darles el formato que quieras. Dependerá del formato en el que te vengan fechas y horas, pero lo siguiente debería funcionar.

SET vNow = Date('30/05/2012 08:00:00');

Dates:

LOAD *, Interval($(vNow) - Date(Date + Time), 'hh:mm:ss') AS Difference

INLINE [

Date, Time

29/05/2012, 14:23:00

29/05/2012, 22:30:00

30/05/2012, 04:00:00

30/05/2012, 07:56:00

];


Espero que te sirva.

Miguel

Sokkorn
Master
Master

Hi,

Try this function

TimeStamp(Date1-Date2,'hh:mm:ss')

Regards,

Sokkorn

Not applicable
Author

Mi problema, es que no puedo concatenar correctamente fecha y hora para hacer la resta.

Miguel_Angel_Baeyens

Hola,

¿Podrías darnos alguna pista más sobre cómo están tus datos para ver cuál sería la mejor solución?

Miguel

Not applicable
Author

Load

   date(AUSVN, 'DD/MM/YYYY') as Fecha,

   time(AUZTV, 'hh:mm:ss') as Hora,

***********

DIFERENCIA: Cálculo de NOW() - (FECHA + HORA) -> debe mostrarse en hh:mm:ss,

************

SQL Select MANDT QMNUM EQUNR ZAEHL KDAUF KDPOS IWERK PLNTY PLNNR EBORT INGRP ILOAN REVNR PLNAL BAUTL ILOAI INSPK DATAN WARPL ABNUM WAPOS SCREENTY MSAUS AUSVN AUSBS AUZTV AUZTB AUSZT MAUEH BTPLN BEQUI AUSWK VERFV VERFN VERFM ANLZV ANLZN ANLZE  from QMIH;

Not applicable
Author

Si la diferencia es un dia y 12 horas, el resultado deberia ser '36:00:00' (24hs + 12hs)

Miguel_Angel_Baeyens

Hola,

Tu script debería parecerse a lo siguiente:

SET vNow = Date('30/05/2012 08:00:00'); // pon aqui la fecha que corresponda

Tabla:
LOAD Date(AUSVN, 'DD/MM/YYYY') AS Fecha,

     Time(AUZTV, 'hh:mm:ss') AS Hora

     Interval($(vNow) - Date(Date(AUSVN, 'DD/MM/YYYY') + Time(AUZTV, 'hh:mm:ss')), 'hh:mm:ss') AS Difference;
SQL SELECT ...

Espero que te sea de ayuda.

Miguel

Not applicable
Author

No logro solucionar el problema. Hay algo con la concatenación que no me toma.

Miguel_Angel_Baeyens

Hola,

Ambos campos, Fecha y Hora, sin concatenarlos, ¿se ven correctamente? Si seleccionas una hora y una fecha concretas, y haces la operación de Interval() en un objeto de texto, ¿qué te devuelve?

Miguel