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

Contribuez Discussion :

Récuperation de la date et de l'heure du système


Sujet :

Contribuez

  1. #1
    Membre habitué
    Récuperation de la date et de l'heure du système
    Premier exemple,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    IDENTIFICATION DIVISION.
    PROGRAM-ID.  AcceptDisplay.
    
    * Ce programme permet de voir l'utilité
    * Des commandes Accept et Display
    * Et aussi de voir comment récupérer la date et heure système
    
    DATA DIVISION.
    WORKING-STORAGE SECTION.
    01 EtudDetails.
       02  EtudId       PIC 9(7).
       02  EtudNom.
           03 Nom      PIC X(8).
           03 initiales     PIC XX.
       02  CodeCours      PIC X(4).
       02  genre          PIC X.
    
    * YYMMDD
    01 DateActu.
       02  AnActu     PIC 9(4).
       02  MoisActu    PIC 99.
       02  JourActu      PIC 99.
    
    * YYDDD
    01 JourDan.
       02  FILLER          PIC 9(4).
       02  AnJour         PIC 9(3).
    
    
    * HHMMSSss   s = S/100
    01 TempsActu.
       02  HeureActu     PIC 99.
       02  MinuteActu   PIC 99.
       02  FILLER          PIC 9(4).
    
    
    PROCEDURE DIVISION.
    Begin.
        DISPLAY "Veuillez renseigner les informations étudiants suivant le modèle suivant".
        DISPLAY "Entrez - ID,Nom,initiales,CodeCours,genre".
        ACCEPT  EtudDetails.
        ACCEPT  DateActu FROM DATE YYYYMMDD.
        ACCEPT  JourDan FROM DAY YYYYDDD.
        ACCEPT  TempsActu FROM TIME.
        DISPLAY "Le nom est " initiales SPACE Nom.
        DISPLAY "la date est " JourActu SPACE MoisActu SPACE AnActu.
        DISPLAY "Aujourd'hui est " AnJour.
        DISPLAY "L'heure est " HeureActu ":" MinuteActu.
        STOP RUN.

  2. #2
    Nouveau membre du Club
    Ah merci pour ton code neuropathie, je trouve ça interessant, c'est bon à savoir comment récupérer la date et l'heure du système

  3. #3
    Futur Membre du Club
    Dans le même esprit un sous programme qui met la date au format
    "vendredi 23 novembre 2007" que l'on recupere dans une chaine de caractères

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    IDENTIFICATION DIVISION.
    PROGRAM-ID. AffichageDate.
    
    *ce programe permet grace a l'utilisation de tableau en utilisant la date*
    *du systeme de la mettre au format "jour JJ mois AAAA"*
    *on recupere le jours de la semaine grace à *
    *ACCEPT <variable> FROM DAY-OF-WEEK qui renvois la position du jour*
    *de la semaine. ex: lundi =1*
    
    DATA DIVISION.
    
    WORKING-STORAGE SECTION.
    01 WS-DATE.
       05 WS-AA PIC 99.
       05 WS-MM PIC 99.
       05 WS-JJ PIC 99.
    77 WS-DAY PIC 9.
    01 ED-DATE.
      05 ED-JOUR PIC X(8).
      05 FILLER PIC X VALUE SPACE.
      05 ED-JJ PIC 99 VALUE ZERO.
      05 FILLER PIC X VALUE SPACE.
      05 ED-MOIS PIC X(9).
      05 FILLER PIC X VALUE SPACE.
      05 ED-AA PIC 99 VALUE ZERO.
    01 JOUR.
      05 FILLER PIC X(8) VALUE 'Lundi'.
      05 FILLER PIC X(8) VALUE 'Mardi'.
      05 FILLER PIC X(8) VALUE 'Mercredi'.
      05 FILLER PIC X(8) VALUE 'Jeudi'.
      05 FILLER PIC X(8) VALUE 'Vendredi'.
      05 FILLER PIC X(8) VALUE 'Samedi'.
      05 FILLER PIC X(8) VALUE 'Dimanche'.
    01 ETIQ-JOUR REDEFINES JOUR.
      05 TJOUR OCCURS 7 PIC X(8).
    01 MOIS.
       05 FILLER PIC X(9) VALUE 'Janvier'.
       05 FILLER PIC X(9) VALUE 'Février'.
       05 FILLER PIC X(9) VALUE 'Mars'.
       05 FILLER PIC X(9) VALUE 'Avril'.
       05 FILLER PIC X(9) VALUE 'Mai'.
       05 FILLER PIC X(9) VALUE 'Juin'.
       05 FILLER PIC X(9) VALUE 'Juillet'.
       05 FILLER PIC X(9) VALUE 'Aout'.
       05 FILLER PIC X(9) VALUE 'Septembre'.
       05 FILLER PIC X(9) VALUE 'Octobre'.
       05 FILLER PIC X(9) VALUE 'Novembre'.
       05 FILLER PIC X(9) VALUE 'Decembre'.
    01 ETIQ-MOIS REDEFINES MOIS.
       05 TMOIS OCCURS 12 PIC X(9).
    
    LINKAGE SECTION.
    77 LS-DATE PIC X(24).
    
    PROCEDURE DIVISION USING LS-DATE.
         ACCEPT WS-DATE FROM DATE
         MOVE WS-JJ TO ED-JJ
         MOVE WS-AA TO ED-AA
         ACCEPT WS-DAY FROM DAY-OF-WEEK
         MOVE TJOUR(WS-DAY) TO ED-JOUR
         MOVE TMOIS(WS-MM) TO ED-MOIS
         STRING
              ED-JOUR DELIMITED BY SPACE
              SPACE DELIMITED BY SIZE
              WS-JJ DELIMITED BY SIZE
              SPACE DELIMITED BY SIZE
              ED-MOIS DELIMITED BY SPACE
              SPACE DELIMITED BY SIZE
              ED-AA DELIMITED BY SIZE
              INTO LS-DATE
         END-STRING
         GOBACK.

  4. #4
    Membre confirmé
    Une variante :
    jour de la semaine calculé (pas nécessairement pour la date du jour comme avec un Accept) --> illustration de fonctions imbriquées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
           Identification Division.                                         
           Program-Id. DATECLAIR.                                           
          *---------------------------------------------------------------  
          * Exemple d'affichage de la date du jour en clair                 
          *---------------------------------------------------------------  
           Environment Division.                                            
          *--------------                                                   
           Data Division.                                                   
           Working-Storage Section.                                         
          *-----------------------                                          
           01.                                                              
               05                    Pic x(15) value '££ DATECLAIR ££'.     
               05  MONJOUR           Pic 9.                                 
               05  MADATE            Pic 9(8).                              
               05  MADATER redefines MADATE.                                
                  07  MADATE-SS      Pic 99.                                
                  07  MADATE-AA      Pic 99.                                
                  07  MADATE-MM      Pic 99.                                
                  07  MADATE-JJ      Pic 99.                                
               05  TABLE-JOURS.                                             
                   07                Pic x(8) value 'Dimanche'.             
                   07                Pic x(8) value 'Lundi   '.             
                   07                Pic x(8) value 'Mardi   '.             
                   07                Pic x(8) value 'Mercredi'.             
                   07                Pic x(8) value 'Jeudi   '.             
                   07                Pic x(8) value 'Vendredi'.             
                   07                Pic x(8) value 'Samedi  '.             
               05  TABLE-JOURS-I   Redefines TABLE-JOURS                    
                                     Pic x(8) occurs 7.                     
                                                                            
               05  TABLE-MOIS.                                              
                   07                Pic x(9) value 'Janvier  '.            
                   07                Pic x(9) value 'Fevrier  '.            
                   07                Pic x(9) value 'Mars     '.            
                   07                Pic x(9) value 'Avril    '.            
                   07                Pic x(9) value 'Mai      '.            
                   07                Pic x(9) value 'Juin     '.            
                   07                Pic x(9) value 'Juillet  '.            
                   07                Pic x(9) value 'Aout     '.            
                   07                Pic x(9) value 'Septembre'.            
                   07                Pic x(9) value 'Octobre  '.            
                   07                Pic x(9) value 'Novembre '.            
                   07                Pic x(9) value 'Decembre '.            
               05  TABLE-MOIS-I    Redefines TABLE-MOIS                     
                                     Pic x(9) occurs 12.                    
                                                                            
               05  DATE-CLAIR        Pic x(25) value Space.                             
          *--------------------------------------------------------         
           Procedure Division.                                              
                                                                            
               Move               function Current-date to MADATER          
               Compute MONJOUR  = function mod                              
                                 (function integer-of-date (MADATE) 7) + 1  
               String  TABLE-JOURS-I(MONJOUR)     delimited by space     
                       ' ' MADATE-JJ       ' '    delimited by size      
                       TABLE-MOIS-I(MADATE-MM)    delimited by space     
                       ' ' MADATE-SS MADATE-AA    delimited by size      
                      into DATE-CLAIR                                    
                                                                         
               Display 'Nous sommes le ' DATE-CLAIR                      
               Move 0  to Return-Code                                    
               Goback.                                                   
                                                                         
           End Program DATECLAIR.

###raw>template_hook.ano_emploi###