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 |
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) ! !------------------------------------------------------------! |
! 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 ! !------------------------------------------------------------! |
! 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 |
+ 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 |
+ 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) |
+ 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. |
+ 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 |
+ 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 |