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

Langage Delphi Discussion :

Comment ajouter 1 minute à un variable TDateTime


Sujet :

Langage Delphi

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Comment ajouter 1 minute à un variable TDateTime
    Salut!
    Comment ajouter 1 minute à un variable TDateTime, je m'explique:
    on a
    var Time: TDateTime;
    par exemple Time: 11:58:00,
    avant pour ajouter 1 minute à Time je faisais:
    decodetime(Time,H,M,S,MS);
    encodetime(H,M+1,S,MS); et on a 11:59:00
    mais le problème c'est que si on veut encore ajouter 1 min à 11:59:00
    par la même méthode il y une erreur car la méthode ajoutera 1 à 59
    et on aura 11:60:00 au lieu de 12:00:00
    Est cce qu'il ya un autre moyen pour faire cet incrémentation de 1 minute
    sans qu'on ait cette erreur.
    Merci de vos réponses

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Dans l'unité DateUtils, tu disposes de toutes les fonctions nécessaires à la manipulation des dates.

    Je t'invite à consulter l'aide à ce sujet.

    La fonction qui t'intéresse est IncMinute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      MaDate := IncMinute(Now, 1);
    @+ Claudius

  3. #3
    Membre actif
    Profil pro
    DEV
    Inscrit en
    Août 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DEV

    Informations forums :
    Inscription : Août 2006
    Messages : 182
    Points : 211
    Points
    211
    Par défaut
    Salut,
    Cela dépend aussi de sa version de delphi ... j'ai la version 5 au boulot et je ne trouve pas IncMinute ...
    Sinon pour la solution du Encode/DecodeTime
    il te suffit de tester les bornes ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    DecodeTime(MyTime,H,Min,Sec,MSec);
    Inc(Min);
    If Min = 60
      Then 
         Begin
           Min := 0;
           Inc(H);
           If H = 24
             Then H := 0;
         End;
    MyTime := EncodeTime(H,Min,Sec,MSec);
    Ainsi desuite ...

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Re,

    Ou sinon comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      DateInitiale := Now;
      Increment := 10;
     
      MaDate :=  ((DateInitiale * 1440) + Increment) / 1440;
    @+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Points : 576
    Points
    576
    Par défaut
    Bonjour,

    Juste en complément du 2° message de Cl@udius.

    Un TDatetime est un chiffre Flottant.

    1 journée = 1.

    Par conséquence :
    1 heure = 1/ 24;
    1 minute = 1/ 24/ 60
    1 seconde = 1/24/60/60
    1 milliseconde = 1/24/60/60/1000 = la plus petite valeur obtenue avec les ordres datetime ou time.

    Le 1440 indiqué par Cl@udius est églae à (24 * 60)

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/09/2012, 16h57
  2. comment ajouter une variable en environnement
    Par achta dans le forum Débuter
    Réponses: 3
    Dernier message: 03/08/2009, 16h56
  3. Réponses: 0
    Dernier message: 22/07/2009, 20h34
  4. comment ajouter plusieurs blancs à une variable
    Par sasseur dans le forum SAS Base
    Réponses: 8
    Dernier message: 20/10/2008, 13h57
  5. [XSLT] Comment ajouter 1 minute ou 1 jour à une date
    Par crazzino dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 09/07/2006, 13h19

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