Manejo de fechas

Hola, necesito saber si existe alguna forma sencilla de comparar fechas, exactamente necesito saber los días transcurridos entre 2 fechas (inicial y final).
Gracias

1 Respuesta

Respuesta
1
En Cobol debes usar el "Redefine" para hacer conversión de formato si es necesario.
Para calcular la diferencia deberás convertir las fechas a formato Juliano y así obtener la diferencia de días.
Creo no estar equivocándome, la verdad hace unos 10 años que no programo en Cobol, te adjunto un ejemplop para calcular una fecha sumándole una cantidad de días :
Working-storage section.
01 WK PIC 999.
01 WQ PIC 99.
01 WDIASMESES VALUE '310031303130313130313031'.
02 WDIASMES PIC 99 OCCURS 12.
LINKAGE SECTION.
01 WDDMMAA PIC 9(8).
01 WDDMMAAA REDEFINES WDDMMAA.
02 WDD PIC 99.
02 WMM PIC 99.
02 WAA PIC 9(4).
01 WDIAANO PIC 999.
PROCEDURE DIVISION USING WDDMMAA WDIAANO.
INICIO.
DIVIDE 4 INTO WAA GIVING WK REMAINDER WQ.
IF WQ = 0
MOVE 29 TO WDIASMES (2)
ELSE
Move 28 to wdiasmes (2).
Son años bisiestos, todos aquellos que sean múltiplos de cuatro,
excepto los que simultáneamente sean múltiplos de cien, salvo
Los que a su vez sean de cuatrocientos.
Año 1900 no es bisiesto
2000 si es bisiesto
2100 no es bisiesto
No tenemos problemas desde 1901 a 2099.
No nos preocuparemos del 2100, ¿no te parece?
Move zero wdiaano.
MOVE 1 TO WQ.
PERFORM CALCULO-DIAS UNTIL WQ = WMM.
ADD WDD TO WDIAANO.
EXIT PROGRAM.
Calculo-días.
Add wdiasmes (wq) to wdiaano.
ADD 1 TO WQ.
Depende en lenguaje estés trabajando, si es PLSQL de Oracle, simplemente con restar las fechas te dará la diferencia, si inicialmente en tipo de campo fuera carácter, deberías convertirlos a formato fecha con un :
to_date ('XX/XX/XXXX')
existen tambien el :
to_char('variable')
to_number(variable)
En general estas funciones existen en la mayoría de los lenguajes con distinto nombre.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas