Pour extraire et analyser le jour de l'année (DOY) à partir d'une date donnée dans un fichier batch, vous pouvez utiliser les différentes commandes liées à la date/heure et un peu de manipulation de chaînes. Voici une approche que vous pouvez suivre :
```
@echo désactivé
::Valeur de date, au format AAAAMMJJ
définir DATE_VALUE=20220715
::Extraire les parties du mois et du jour
définir MOIS=%DATE_VALUE :~4,2%
définir DAY=%DATE_VALUE :~6,2%
::Convertissez le mois en un nombre compris entre 1 et 12 en utilisant CHOICE /N (si nécessaire)
si %MOIS% NEQ 1 si %MOIS% NEQ 2 si %MOIS% NEQ 3 ...
choix /n /c:123456789101112
::Utilisez les parties MOIS et JOUR pour calculer le DOY
définir DOY=0
::Ajoutez le nombre de jours pour chaque mois (31 pour janvier, 28 ou 29 pour février, 31 pour mars, ...)
si %MOIS% GEQ 2 ( set /a DOY+=31 )
si %MOIS% GEQ 3 ( set /a DOY+=28 )
si %MOIS% GEQ 4 ( set /a DOY+=31 )
si %MOIS% GEQ 5 ( set /a DOY+=30 )
si %MOIS% GEQ 6 ( set /a DOY+=31 )
si %MOIS% GEQ 7 ( set /a DOY+=30 )
si %MOIS% GEQ 8 ( set /a DOY+=31 )
si %MOIS% GEQ 9 ( set /a DOY+=31 )
si %MOIS% GEQ 10 ( set /a DOY+=30 )
si %MOIS% GEQ 11 ( set /a DOY+=31 )
si %MOIS% GEQ 12 ( set /a DOY+=30 )
::Ajouter le numéro du jour
définir /a DOY+=%DAY%
::Afficher le DOY
echo Jour de l'année (DOY) :%DOY%
pause
```
Explications :
1. Extraire les parties de date :Utilisez `%DATE_VALUE:~4,2%` pour extraire le mois (4ème au 5ème caractère) et `%DATE_VALUE:~6,2%` pour extraire le jour.
2. Convertir le numéro du mois :Utilisez `CHOICE /N` pour obtenir un numéro de mois numérique s'il n'est pas dans un format standard.
3. Calculer DOY :Calculez le DOY en additionnant progressivement le nombre de jours pour chaque mois à partir de février.
4. Afficher DOY :Affichez le DOY calculé en utilisant `echo`.
Cette approche fournit une méthode de base pour analyser le jour de l'année à partir d'une chaîne de date donnée. Vous pouvez modifier le script en fonction de vos besoins spécifiques.
|