IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Heure sur deux caractères


Sujet :

Scripts/Batch

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 43
    Points : 34
    Points
    34
    Par défaut Heure sur deux caractères
    Bonjour,

    Je cherche à récupérer l'heure du système sur deux caractères, avec une variable pour les heures, une variable pour les minutes.

    Les commandes suivantes me renvoient bien les minutes sur deux caractères ("05" pour XXh05), mais pas pour les heures : à 9 heures, au lieu d'avoir "09", j'ai simplement "9".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off
    
    set heure_exec=%TIME:~0,2%
    set minute_exec=%TIME:~3,2%
    
    echo.
    echo Heures  : %heure_exec% 
    echo.
    echo Minutes : %minute_exec%
    Comment faire pour avoir l'heure sur deux caractères ?

    J'ai testé ceci, mais pour 9 heures, ça me renvoie "0 9" au lieu de "09" (espace en trop) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    
    set heure_exec=%TIME:~0,2%
    set minute_exec=%TIME:~3,2%
    
    if %heure_exec% lss 10 ( set heure_exec=0%heure_exec% )
    
    echo.
    echo Heures  : %heure_exec% 
    echo.
    echo Minutes : %minute_exec%
    Merci de me venir en aide...

  2. #2
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Salut,

    Tu peux rajouter une condition dans ce goût la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    setlocal enabledelayedexpansion
    if "%heure_exec%" LSS 10 ( set heure_exec=0!heure_exec!)
    
    echo.
    echo Heures  : %heure_exec%

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 43
    Points : 34
    Points
    34
    Par défaut
    Merci pour l'idée du "delayed expansion" que j'avais déjà utilisé auparavant.

    Malheureusement, le code suivant me retourne toujours "0 9" au lieu de "09" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    setlocal enabledelayedexpansion
    
    set heure_exec=%TIME:~0,2%
    set minute_exec=%TIME:~3,2%
    
    if %heure_exec% LSS 10 ( set heure_exec=0!heure_exec! )
    
    echo.
    echo Heures  : %heure_exec% 
    echo.
    echo Minutes : %minute_exec%
    Merci, en tout cas

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 109
    Points : 168
    Points
    168
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off
    
    set heure_exec=%TIME:~0,2%
    set heure_exec=%heure_exec: =0%
    set minute_exec=%TIME:~3,2%
    
    echo Heures  : %heure_exec% 
    echo Minutes : %minute_exec%

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 43
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par magma² Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off
    
    set heure_exec=%TIME:~0,2%
    set heure_exec=%heure_exec: =0%
    set minute_exec=%TIME:~3,2%
    
    echo Heures  : %heure_exec% 
    echo Minutes : %minute_exec%
    Merci, ça marche !

    Par contre, j'ai un peu de mal à saisir le sens de la commande... on remplace un espace par un 0 ? Mais dans le %TIME:~0,2% de départ, il n'y avait pas d'espace ?

    Ou alors, c'est le fait de prendre %TIME% "à partir du caractère 0 sur 2 caractères" qui fait que malgré que l'heure soit sur un caractère, je me retrouve avec deux caractères, l'heure et un caractère vide... je crois que ça doit être ça. Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Format de date avec l'année sur deux caractères
    Par raz2008 dans le forum PL/SQL
    Réponses: 7
    Dernier message: 06/12/2012, 13h45
  2. Minutes affichés sur deux caractères dans une formule
    Par QUEEQEG dans le forum Conception
    Réponses: 5
    Dernier message: 10/05/2011, 08h33
  3. [AC-2003] Nombre sur deux caractères quand il est compris entre 1 et 9?
    Par [ZiP] dans le forum VBA Access
    Réponses: 4
    Dernier message: 31/03/2010, 15h54
  4. Obtenir mois sur deux caractères
    Par PtitGénie dans le forum VBScript
    Réponses: 4
    Dernier message: 07/01/2010, 17h51
  5. Afficher un chiffre sur deux caractères
    Par Metallic-84s dans le forum Langage
    Réponses: 2
    Dernier message: 29/05/2006, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo