APIs ILE (liables) de gestion de dates et heures.

BoTTom |    Changer de couleur
 APIs ILE de manipulation DATES et HEURES :
 
      Toutes ces APIs sont dans le *SRVPGM QLEAWI de QSYS
 
      Elles ne sont donc utilisables qu'avec un langage ILE
 
      Le pgm qui les utilise ne doit pas être dans le groupe
       d'activation *DFTACTGRP
 
=============== quelques notions =========================================
 
      Pour toutes ces APIs une date lilian exprime une date en nombre de
       jours depuis le 15 Octobre 1582 (jour 1, qui est le premier jour
       du calendrier Grégorien) jusqu'au 31 décembre 9999 !
 
      Jour 0 est donc le 14 Octobre 1582 est n'est utilisé que pour
                                             les calculs.
      jour 148887 est le 4 Juin 1990.
 
      un horodatage s'exprime en secondes à partir du jour 0 à 00:00:01
 
 


|    Changer de couleur
   Certaines APIs admettent que vous indiquiez l'"image" de la date
 
=======================================================================
!     D E F I N I T I O N   D E S   I M A G E S   D E   D A T E       !
!                                                                     !
=======================================================================
 
     Caractère
     d'Image        Signification               Exemple
   !------------------------------------------------------------!
   ! Y          ! année sur 1 chiffre       ! 0-                !
   ! YY         !       sur 2               ! 00-               !
   ! YYY        !       sur 3               ! 000-999           !
   ! ZYY        ! (années dans une ère)     ! [pays orientaux]  !
   ! YYYY       ! année sur 4 chiffres      ! 1582-9999         !
   !------------------------------------------------------------!
   ! MM         ! mois sur 2 chiffres       ! 01-12             !
   ! ZM         ! mois sur 1 ou 2 chiffres  ! 1-12              !
   !------------------------------------------------------------!
   ! RRRR       ! mois en notation romaine  ! I-XII (cadré à    !
   ! RRRZ       !                           !         à gauche) !
   !------------------------------------------------------------!


|    Changer de couleur
   ! MMM        ! mois (3 C.), en majuscules! JAN-DEC           !
   ! Mmm        ! mois (3 C.), min/MAJ      ! Jan-Déc           !
   ! MMMMMMMMMM ! mois (20 C.) en majuscules! JANVIER-DECEMBRE  !
   ! Mmmmmmmmmm ! mois (20 C.), min/MAJ     ! Janvier-Décembre  !
   ! MMMMMMMMMZ ! espaces ignorés           ! JANVIER-DECEMBRE  !
   ! Mmmmmmmmmz !  idem (min/MAJ)           ! Janvier-Décembre  !
   !------------------------------------------------------------!
   ! DD         ! jour sur 2 chiffres       ! 01-31             !
   ! ZD         ! jour sur 1 ou 2 chiffres  ! 1-31              !
   ! DDD        ! n° de jour (date julienne)! 0-365             !
   !------------------------------------------------------------!
   ! HH         ! heure sur 2 chiffres      ! 00-23             !
   ! ZH         ! heure sur 1 ou 2 chiffres ! 0-23              !
   !            !                           !                   !
   !------------------------------------------------------------!
   ! MI         ! minute                    ! 00-59             !
   !------------------------------------------------------------!
   ! SS         ! secondes                  ! 00-59             !
   ! 9          ! 10 èmes de seconde        ! 0-9               !
   ! 99         ! 100 èmes de seconde       ! 00-99             !
   ! 999        ! 1000 èmes de seconde      ! 000-999           !
   !------------------------------------------------------------!


|    Changer de couleur
   ! AP         ! AM/PM (notation           ! AM ou PM          !
   ! ap         !         anglo-saxonne)    ! am ou pm          !
   ! A.P.       !                           ! A.M. ou P.M.      !
   ! a.p.       !                           !                   !
   !------------------------------------------------------------!
   ! W          ! Jour de la semaine (1c.)  ! D, L, M, M, J, V,S!
   ! WWW        ! jour de la semaine (3c.)  ! DIM-SAM           !
   ! Www        ! Jour de la sem(3c.)min/MAJ! Dim-Sam           !
   ! WWWWWWWWWW ! jour de la semaine (10c.) ! DIMANCHE-SAMEDI   !
   ! Wwwwwwwwww ! Jour sur 10c.min/MAJ      ! Dimanche-Samedi   !
   ! WWWWWWWWWZ ! espaces supprimés         ! DIMANCHE-SAMEDI   !
   ! Wwwwwwwwwz ! espaces supprimés         ! Dimanche-Samedi   !
   !------------------------------------------------------------!
 
 Exemples d'images reconnues         ->  valeur possible
 
   DD/MM/YY                              14/07/90
   DD Mmmmmmmmmm YY                      14 Juillet    90
   WWW, ZM/ZD/YY HH:MI AP                LUN, 5/16/88 08:42 PM
   Wwwwwwwwww, DD Mmm YYYY, ZH:MI:SS     Lundi     , 16 Mai 1988, 8:42:00
   Wwwwwwwwwz, DD Mmm YYYY, ZH:MI:SS     Lundi, 16 Mai 1988, 8:42:00
 


|    Changer de couleur
 
      + CEEDAYS       = conversion date vers format lilian       [CALLB(D)]
 
        - CHAR(?)     date en format caractère
        - CHAR(?)     image de la date       (cf le tableau ci-dessus)
        - BIN(4)      date lilian en retour
 [facultatif]
        - token       gestion d'erreur
                      (vrai pour toutes les APIs ILE, cf les erreurs ILE)
 
      + CEEDATE       =  conversion date vers format caractère   [CALLB(D)]
 
        - BIN(4)      date lilian
        - CHAR(?)     image de la date
        - CHAR(?)     date (format caractère) en retour
 
      + CEEDYWK       = calcul du n° de jour dans la semaine à partir d'une
                         date lilian  (1 = Dimanche, 2 = Lundi ...)
 
        - BIN(4)      date lilian
        - BIN(4)      N° de jour en retour
 


|    Changer de couleur
 
      + CEESECI       = conversion secondes vers année, mois, jour, heure
 
        - CHAR(8)     nombre de secondes (variable en virgule flottante
                                           double précision)
        - BIN(4)      Année en retour
        - BIN(4)      Mois
        - BIN(4)      jour
        - BIN(4)      Heure
        - BIN(4)      Minutes
        - BIN(4)      Secondes
        - BIN(4)      millisecondes
 
      + CEEISEC       =   <fonction inverse>
        - BIN(4)      Année
        - BIN(4)      Mois
        - BIN(4)      jour
        - BIN(4)      Heure
        - BIN(4)      Minutes
        - BIN(4)      Secondes
        - BIN(4)      millisecondes
        - CHAR(8)     nombre en retour (toujours en virgule flottante)


|    Changer de couleur
 
      + CEEDATM       = conversion secondes vers horodatage caractères.
 
        - CHAR(8)     nombre de secondes (variable en virgule flottante)
        - CHAR(?)     image du timestamp
        - CHAR(?)     timestamp caractères en retour
 
      + CEESECS       =   <fonction inverse>
 
        - CHAR(?)     timestamp au format caractères
        - CHAR(?)     image du timestamp
        - CHAR(8)     nombre en retour (virgule flottante)
 
      + CEEGMT        = retrouve l'heure GMT
        CEEUTC          (idem, c'est un alias)
 
        - BIN(4)      date lilian en retour
        - CHAR(8)     secondes en retour (virgule flottante)
        - CHAR(17)    date au format grégorien (image 'YYYYMMDDHHMISS999')
 
 Si le décalage avec GMT n'est pas fixé (valeur système QUTCOFFSET),
  l'API se termine en erreur.


|    Changer de couleur
 
      + CEEUTCO       = retrouve le décalage par rapport à GMT
 
        - BIN(4)      heures de décalage
        - BIN(4)      minutes de décalage
        - CHAR(8)     nombre de secondes de décalages (virgule flottante)
 
          l'information se manipule soit avec heures et minutes en clair
           soit avec le nombre de secondes, utilisable directement par
           d'autres APIs.
 
      + CEELOCT       = retrouve l'heure locale
 
        - BIN(4)      date lilian en retour
        - CHAR(8)     secondes en retour (virgule flottante)
        - CHAR(17)    date au format grégorien (image 'YYYYMMDDHHMISS999')
 
      + CEEFMDA       = retourne l'image d'une date pour un pays
 
        [- CHAR(2)    code du pays] paramètre optionnel, FR = France.
        - CHAR(?)     image de la date en retour
 


|    Changer de couleur
 
      + CEEFMDT       = retrouve l'image, date et heure, pour un pays
 
        [- CHAR(2)       code du pays] paramètre optionnel, FR = France.
        - CHAR(?)     image en retour
 
      + CEEFMTM       = retrouve l'image de l'heure pour un pays
         mêmes paramètres
 
      + CEESCEN       = fixe le siècle par défaut pour une date avec année
                         sur 2 positions.
 
        - BIN(4)       le siècle est fixé en indiquant l'année à laquelle
                        vous souhaitez que se fasse le changement de siècle.
                        (nbre d'années à soustraire à partir d'aujourd'hui)
 
                        ex: 80 (val par défaut) en 1995 indique une plage
                             temporelle de 1915 à 2014
                            50 en 1995 indique une plage de 1945 à 2044.
 
      + CEEOCEN       = retrouve la valeur précédente.
        - BIN(4)            valeur en retour





©AF400