Obtener los meses y días entre 2 fechas con DateDiff y Mod.

 Para el ejemplo utilizare las funciones DateDiff y Mod.


DateDiff.- Devuelve una cadena que es el intervalo de tiempo entre 2 fechas, tomado la primer fecha como la más antigua y la segunda fecha como la más reciente.


Mod.- Devuelve el residuo de una división.


Crearemos una WebForm con la siguiente estructura:



Ahora dentro del código copiamos:



Obtenemos la diferencia en días con :


Dim v_dias As Integer = DateDiff(DateInterval.Day, v_fechainicio, v_fechafin)


y la diferencia en meses con:


 Dim v_meses As Integer = DateDiff(DateInterval.Month, v_fechainicio, v_fechafin)


el residuo serán los días de diferencia cuando no se completa el siguiente mes, tomaremos como base 30 días por mes:


 Dim v_dias_restantes As Integer = v_dias Mod 30


Al ejecutarlo obtenemos el siguiente resultado:



La función también se puede utilizar el SQL Server:

SELECT feccre, fecing, DATEDIFF(dd, feccre, fecing) AS dias FROM recursos

Donde se obtienen los días (dd) entre los campos feccre y fecing, si deseamos obtener los meses cambiamos a mm y los años a yyyy.

El resultado en SQL Server:



Publicar un comentario

0 Comentarios