1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
@echo off
set EXEMPLE=2003_050
:: Extraction de l'Annee
set A=%EXEMPLE:~0,4%
:: Extraction du Quantieme
set /a Q=1%EXEMPLE:~5,3% - 1000
:: Calcul du Jour Julien du 1er Janvier de l'annee %A% + %Q% jours
set /a JJ=%Q% + ((1461 * (%A% + 4800 + (1 - 14) / 12)) / 4 + (367 * (1 - 2 - 12 * ((1 - 14) / 12))) / 12 - (3 * ((%A% + 4900 + (1 - 14) / 12) / 100)) / 4 + 1 - 32075) - 1
:: Conversion du Jour Julien en Jour (%J%), Mois (%M%) et Annee (%A%)
set /a T0=%JJ% + 68569
set /a T1=(4 * %T0%) / 146097
set /a T0=%T0% - (146097 * %T1% + 3) / 4
set /a T2=(4000 * (%T0% + 1)) / 1461001
set /a T0=%T0% - (1461 * %T2%) / 4 + 31
set /a T3=(80 * %T0%) / 2447
set /a J=%T0% - (2447 * %T3%) / 80
set /a M=%T3% + 2 - (12 * (%T3% / 11))
set /a A=100 * (%T1% - 49) + %T2% + (%T3% / 11)
:: Formatage du resultat
if %J% LSS 10 set J=0%J%
if %M% LSS 10 set M=0%M%
echo.
echo Avant conversion: %EXEMPLE%
echo Apres conversion: %A%_%M%_%J%
echo. & pause |
Partager