Mediante fichero batch: calcular diferencia de dÍas entre dos fechas
Nos creamos con Notepad un fichero .bat o .cmd con el siguiente contenido:
@echo off
setlocal ENABLEEXTENSIONS
call :dias %1
set /a d=j
call :dias %2
set /a d=j-d
echo %d%&endlocal&goto :EOF
:dias
for /f "tokens=1,2,3 delims=-/." %%a in ("%1") do (
set dd=%%a&set mm=%%b&set yy=%%c)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
goto :EOFSi lo llamamos, por ejemplo, dif_fechas.cmd, la manera de invocarlo será:
dif_fechas fecha1 fecha2
Tanto fecha1 como fecha 2, admiten los formatos: dd.mm.aaaa dd-mm-aaaa dd/mm/aaaa
El resultado es fecha2 - fecha1
NOTA: la rutina es exacta teniendo presente la regla de bisiestos en centenarios.
--
|
13 - abril - 2005