Se connecter / S'enregistrer
Votre question

[Résolu] - [Batch] Soustraction de deux "heures"

Tags :
  • Echo
  • Programmation
Dernière réponse : dans Programmation
12 Avril 2010 15:49:15

Bonjour,

J'ai un programme du style:

  1. set t1=%time%
  2.  
  3. start blabla
  4. echo tatata
  5.  
  6. set t2=%time%


Je souhaiterais à la fin faire la soustraction de t2-t1 afin d'afficher:

  1. echo Temps de traitement: %t2% - %t1%


Mais je n'arrive pas a faire la différence entre les deux heures qui sont sous la forme: HH:MM:SS,dd (H: heure - M: minute - S: seconde - d: centième de seconde)

Pourtant t1 et t2 sont de même format ...

Pouvez-vous m'aider ?

Autres pages sur : resolu batch soustraction heures

a c 232 L Programmation
12 Avril 2010 18:51:50

Salut,

Essaie de passer par une variable intermédiaire en faisant un
  1. set /a t3 = %t2% - %t1%
m
0
l
12 Avril 2010 19:10:59

Salut,

Marche pas:

C:\Documents and Settings\TGV6773\Bureau>set /a t3 = 19:09:36,06 - 19:09:35,46
Opérateur manquant.

A+
m
0
l
Contenus similaires
12 Avril 2010 19:56:25

En fait, %t1% et %t2% ne sont pas des "nombres" pour un ordinateur... C'est comme si je demande "12&crc24...;h - 445iou#:\"...

Par contre, si il y avait une fonction comme "time()" en PHP, cela serait pratique...
m
0
l
12 Avril 2010 20:12:20

Je vais contourner alors en "tronquant les chaines:

@echo off

set t1=%time%
echo %t1%
rem décomposer l'heure
echo Heures: %t1:~0,2%
rem décomposer les minutes
echo Minutes: %t1:~3,2%
rem décomposer les secondes
echo Secondes: %t1:~6,2%

pause

Et voilà ....

A+
m
0
l
a b L Programmation
12 Avril 2010 21:11:00

Voilà, une fonction qui calcule en ms:
  1. set /A temps=%TIME:~0,2%*360000+%TIME:~3,2%*6000+%TIME:~6,2%*100+%TIME:~9,2%

Et une qui décompose:
  1. set /A T1=%temps%/360000
  2. set /A T2=(%temps%-%T1%*360000)/6000
  3. set /A T3=(%temps%-%T1%*360000-%T2%*6000)/100
  4. set /A T4=%temps%-%T1%*360000-%T2%*6000-%T3%*100
  5. echo %T1%:%T2%:%T3%,%T4%


ps: non testé, juste regardé le %TIME%
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS