Bienvenido elcid.
No he entendido del todo la idea. He estado jugando un poco con las funciones de fecha e hice dos ejemplos.
Creo que el primero puede que sea el que te interese.
Ejemplo1. En este caso tomamos una fecha y calculamos cuando pasaran 30 días.
Public Sub Ejemplo1()
Dim fecha1, fecha2 As Date
'Tomamos la fecha del día de hoy, sin la hora
fecha1 = Date(Now)
'Usamos format para convertir el formato de fecha. Me interesa mostrarla como dd/mm/yyyy
Print "Hoy es: " & Format(fecha1, "dd/mm/yyyy")
'Añadimos un mes
fecha2 = DateAdd(fecha1, gb.Day, 30)
'Usamos format para convertir el formato de fecha. Me interesa mostrarla como dd/mm/yyyy
Print "Cuando pasen 30 días la fecha será: " & Format(fecha2, "dd/mm/yyyy")
End
Luego en el ejemplo 2. Usamos la función DateDiff, que me he quedado con una duda.
Public Sub Ejemplo2()
Dim fecha1, fecha2 As Date
'Tomamos la fecha del día de hoy
fecha1 = Date(Now)
'Añadimos un mes
fecha2 = DateAdd(fecha1, gb.Day, 30)
'Podemos comprobar de que han pasado 30 días.
'Print DateDiff(fecha1, fecha2, gb.Day)
'Comprobamos que ha pasado un mes
If DateDiff(fecha1, fecha2, gb.Day) = 30 Then Print "Han pasado 30 días"
End
No sé como tu quieres tomar la siguiente fecha.
Esta pregunta es para los demás compañeros:
Si en la ayuda online de
gambas dice:
Cantidad = DateDiff ( Fecha1 , Fecha2 , Periodo )
Y que, Fecha1 es la mayor y Fecha2 es la menor.
En mi ejemplo, fecha2 es la siguiente fecha. La que se han acumulado más días. ¿ No sera está la mayor ?. Creo que no entendí el concepto.
¿ No debería haber usado esto?
De esa forma me da -30 días.
Por cierto:
Date(Now), dice que solo devuelve el día. Pero es que tambien aparece 00:00:00
Saludos
===================
Gambas Básico
"No es un bug, es una característica no documentada"