Diferencia entre dos fechas
Publicado: 31 May 2010, 12:47
La función _DateDiff devuelve la diferencia entre dos fechas según la magnitud que le pidamos, que puede ser años, meses, días, etc... Por ejemplo si quiero la diferencia entre 1-Ene-2000 y 1-Feb-2001 y lo pido en años me dará 1, si lo pido en meses me dará 13... ¿y si quiero que me diga "1 año y un mes"?.
Pues para eso es este código. Lo acabo de crear y lo pego aquí por si os es útil. Como ejemplo calculo el tiempo que ha pasado desde que nació AutoIt v3
Pues para eso es este código. Lo acabo de crear y lo pego aquí por si os es útil. Como ejemplo calculo el tiempo que ha pasado desde que nació AutoIt v3

Código: Seleccionar todo
#include <Date.au3>
Opt('MustDeclareVars', 1)
Global $fIni, $fFin, $anyos, $meses, $dias
$fIni = "2004/02/29" ;AutoIt v3, día cero
$fFin = _NowCalc()
_DiferenciaFechas($fIni, $fFin, $anyos, $meses, $dias)
MsgBox(0,"",StringFormat("%d años, %d meses, %d días.", $anyos, $meses, $dias))
Exit
Func _DiferenciaFechas($fInicial, $fFinal, ByRef $anyos, ByRef $meses, ByRef $dias)
Local $ftemp
$anyos = _DateDiff("y", $fInicial, $fFinal)
$ftemp = _DateAdd("y", $anyos, $fInicial)
$meses = _DateDiff("m", $ftemp, $fFinal)
$ftemp = _DateAdd("m", $meses, $ftemp)
$dias = _DateDiff("d", $ftemp, $fFinal)
EndFunc