Basic - Fechas

 
Vista:

Fechas

Publicado por Sandra (5 intervenciones) el 10/04/2005 21:09:08
Alguna idea para saber cuantos dias han pasado de una fecha a otra en BASIC para DOS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Fechas

Publicado por Pedro Amaro (72 intervenciones) el 15/04/2005 10:48:47
Utilizando un algoritmo de calculo de fecha juliana, generamos el numero juliano para cada una de las fechas y lo restamos, nos da exactamente los dias que hay entre esas fechas, incluyendo años bisiestos y meses dispares.

He rebuscado en mi biblioteca de algoritmos y este es el que yo tengo:

10 DD = VAL(RIGHT$(FECHA$, 2))
20 MM = VAL(MID$(FECHA$, 5, 2))
30 AAAA = VAL(LEFT$(FECHA$, 4))
40 '
50 Juliana# = DD + INT(365.25 * (AAAA - ABS(MM < 3))) + INT(30.6001 * (MM + 1 + 12 * ABS(MM < 3))) - INT(AAAA / 100) + INT(AAAA / 400) + ABS(1 AND (AAAA / 100) = INT(AAAA / 100) AND (AAAA / 400) <> INT(AAAA / 400) AND MM < 3) + 1720996.5#
60 PRINT FECHA$, Juliana#

Esta en GwBasic con numeros de linea para que se vea claro que la formula matematica es toda una.

CUIDADO: este algoritmo espera encontrar FECHA$ en el formato AAAMMDD osea 20050415 para el dia de hoy, si lo quieres de otra manera solo tienes que modificar las lineas de la 10 a la 30 para que extraigan los digitos en el orden que esten.

Saludos y Suerte.

Pedro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar