Les Allergies
Alimentaires
Posez votre question Signaler

Batch pour afficher date + 1 jour [Résolu]

sam0ray 19Messages postés 21 mai 2010Date d'inscription 12 août 2010Dernière intervention - Dernière réponse le 19 juil. 2010 à 20:38
Bonjour,
Je voudrai afficher la date + 1 jour sur mon script BATCH (DOS) tout en respectant les contrainte de la date (l'année bissextile, mois dans le cas de mois 12 + 1 = 01, le nombre de jour dans le mois 28 29 30 31).
Merci d'avance pour votre réponse.
Lire la suite 

Batch pour afficher date + 1 jour »

20 réponses
Réponse
+0
moins plus
salut
vous pouvez donner le code ? pour vous aider ;)
Ajouter un commentaire
Réponse
+0
moins plus
Re, up

comme ceci ? :

@Echo off
set annee=%date:~6,4%
set mois=%date:~3,2%
set jour=%date:~0,2%
Ajouter un commentaire
Réponse
+0
moins plus
Plutôt l'algorithme je vous donne dessous le résultat que je veux :

@echo off

set aujourdhui=%date%
set demain=%date% + 1
echo demain on est : %demain%
pause

je savais que c'est pas logique de faire date + 1 mais juste pour vous expliquez mon besoin.

j'ai déjà penser à une idée un peu bidon, je ne sais pas comment mettre dans if l'opérateur logique "et" et "ou" aussi j'ai pas pu traité le cas de mois de février et le mois de décembre :

NB : le code ne marche pas

@echo off

rem si la date du système est de la forme jj/mm/aaaa
echo la date systeme est : %DATE%
echo.
rem récupération de jour, le mois et l'année
Set jr=%DATE:~0,2%
Set ms=%DATE:~3,2%
Set ane=%DATE:~6,4%

rem il faut mettre l'operateur logique "et" pour que les deux conditions soit respecter à la foi
if %jr% == 31 %ms% == 01 set demain=01 02 %ane%
if %jr% == 31 %ms% == 03 set demain=01 04 %ane%
if %jr% == 30 %ms% == 04 set demain=01 05 %ane%
if %jr% == 31 %ms% == 05 set demain=01 06 %ane%
if %jr% == 30 %ms% == 06 set demain=01 07 %ane%
if %jr% == 31 %ms% == 07 set demain=01 08 %ane%
if %jr% == 31 %ms% == 08 set demain=01 09 %ane%
if %jr% == 30 %ms% == 09 set demain=01 10 %ane%
if %jr% == 31 %ms% == 10 set demain=01 11 %ane%
if %jr% == 30 %ms% == 11 set demain=01 12 %ane%

rem dans le cas contraire si le jour est normal
else
set demain = %jr%+1 %ms% %ane%

rem afficher le résultat
echo demain nous somme le : %demain%

pause

rem fin

merci de votre aide
Ajouter un commentaire
Réponse
+0
moins plus
je vous donne les cas possible :

Cas normal :
date = 08/07/2010 => date + 1 =09/07/2010

Cas de fin de mois
date = 31/07/2010 => date + 1 =01/08/2010
date = 30/06/2010 => date + 1 =01/07/2010
date = 28/02/2010 => date + 1 =01/03/2010

Cas de mois de décembre
date = 31/12/2010 => date + 1 =01/01/2011

Cas de l'année bissextile
date = 29/02/2010 => date + 1 =01/03/2010
karirovax- 8 juil. 2010 à 17:33
Re,

pour le 1er code il n ya pas d'espace entre le %jr% et l'égalité == et pour l'ajout de et/ou logique il faut ajouter une autre IF , c tout , voici la marche à suivre :

echo.
rem récupération de jour, le mois et l'année
Set jr=%DATE:~0,2%
Set ms=%DATE:~3,2%
Set ane=%DATE:~6,4%
set demain=
rem il faut mettre l'operateur logique "et" pour que les deux conditions soit respecter à la foi
if %jr%==31 if %ms%==01 set demain=01 02 %ane%
if %jr%==31 if %ms%==03 set demain=01 04 %ane%
if %jr%==30 if %ms%==04 set demain=01 05 %ane%
if %jr%==31 if %ms%==05 set demain=01 06 %ane%
if %jr%==30 if %ms%==06 set demain=01 07 %ane%
if %jr%==31 if %ms%==07 set demain=01 08 %ane%
if %jr%==31 if %ms%==08 set demain=01 09 %ane%
if %jr%==30 if %ms%==09 set demain=01 10 %ane%
if %jr%==31 if %ms%==10 set demain=01 11 %ane%
if %jr%==30 if %ms%==11 set demain=01 12 %ane%

echo demain est le : !demain!

pause
karirovax- 8 juil. 2010 à 17:42
ca marche ??
Ajouter un commentaire
Réponse
+0
moins plus
oui ça marche, merci karirovax


Mais juste dans le cas normal comment faire le else ??? càd :

le cas ou le jour au 30 et 31, il faut mettre quelque part un else de fin des if
karirovax- 15 juil. 2010 à 20:19
Re,

bon chance et à demain ;)

:D
sam0ray- 19 juil. 2010 à 16:34
Bonjour,

merci encore karirovax , c'est très interessant

A bientot
karirovax- 19 juil. 2010 à 20:38
Re,

de rien mon amis ;)

amicalement ...
Ajouter un commentaire
Ce document intitulé « batch pour afficher date + 1 jour » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?