DATETRAN : Formater des dates dans les formats internationaux

Comment :

Référence :

Langages disponibles : reporting, Maintain

La fonction DATETRAN formate les dates dans des formats internationaux.


Haut de page

x
Syntaxe : Formater des dates en formats internationaux
DATETRAN (indate, '(intype)', '([formatops])', 'lang', outlen, output)

où :

indate

est la date de saisie (au format de date) à formater. Notez que la date ne doit pas être au format alphanumérique ou numérique avec des options d'affichage de date).

intype

est l'une des chaînes de caractères suivantes indiquant les composants de la date d'entrée et leur ordre d'affichage, entre guillemets simples et parenthèses.

Voici les types d'entrée à composant unique :

Type d'entrée à composant unique

Description

'(W)'

Un composant de jour de la semaine seulement (le format original ne doit contenir que le composant W).

'(M)' 

Le composant du mois seulement (le format original ne doit contenir que le composant M).

Voici les types d'entrée à deux composants :

Type d’entrée à deux composants

Description

'(YYM)'

L'année à quatre chiffres suivie du mois.

'(YM)'

L'année à deux chiffres suivie du mois.

'(MYY)'

Le composant de mois suivi d'une année à quatre chiffres.

'(MY)'

Le composant de mois suivi d'une année à deux chiffres.

Voici les types d'entrée à trois composants :

Type d’entrée à trois composants

Description

'(YYMD)'

L'année à quatre chiffres suivie du mois et du jour.

'(YMD)' 

L'année à deux chiffres suivie du mois et du jour.

'(DMYY)'

Le composant de jour suivi du mois et de l'année à quatre chiffres.

'(DMY)'

Le composant de jour suivi du mois et de l'année à deux chiffres.

'(MDYY)'

Le composant de mois suivi du jour et de l'année à quatre chiffres.

'(MDY)'

Le composant de mois suivi du jour et de l'année à deux chiffres.

'(MD)'

Le composant de mois suivi du jour (obtenu de la date à trois composants moins le composant de l'année).

'(DM)'

Le composant de jour suivi du mois (obtenu de la date à trois composants moins le composant de l'année).

formatops

est une chaîne de zéros ou plusieurs options de formatage encadrées par des parenthèses et des guillemets simples. Les parenthèses et guillemets sont nécessaires, même si vous ne précisez pas d'options de formatage. Les options de formatage tombent dans les catégories suivantes :

  • Options pour supprimer les zéros à gauche de nombres de mois et de jour.

    Remarque : la suppression du zéro remplace les zéros initiaux par des espaces vides.

  • Options pour convertir des composants de mois et de jour en représentation complète ou abrégée en majuscules ou la casse par défaut (casse mixte ou minuscules selon la langue).
  • Options pour délimiter des dates ou ponctuer des dates à l'aide de virgules.

Options valides pour supprimer les zéros à gauche de nombres de mois et de jour listés dans la table suivante. Notez que le zéro initial est remplacé par un espace vide :

Option de format

Description

m

Zéro supprime les mois (affiche les mois numériques avant octobre sous la forme 1 à 9 et non pas 01 à 09).

d

Affiche les jours avant le 10 du mois sous la forme 1 à 9 et non pas 01 à 09 avec un point après le numéro.

dp

Affiche les jours avant le 10 du mois sous la forme 1 à 9 et non pas 01 à 09 avec un point après le numéro.

do

Affiche les jours avant le 10 du mois sous la forme 1 à 9. Pour les installations en langue anglaise (code de langue EN) seulement, affiche un suffixe ordinal (st, nd, rd, ou th) après le numéro.

Les options de traduction de noms de jour et de mois sont :

Option de format

Description

T

Affiche le nom abrégé du mois, sans ponctuation, entièrement en majuscules.

TR

Affiche le mois comme un nom complet, entièrement en majuscules.

Tp

Affiche le nom abrégé du mois suivi d'un point, entièrement en majuscules.

t

Affiche le nom abrégé du mois sans ponctuation. Affiche le nom complet, tout en minuscules ou en majuscules avec une lettre majuscule en position initiale, selon le code de langue.

tr

Affiche le nom complet du mois. Affiche le nom complet, tout en minuscules ou en majuscules avec une lettre majuscule en position initiale, selon le code de langue.

tp

Affiche le nom abrégé du mois suivi d'un point. Le nom s'affiche selon la casse par défaut de la langue concernée (par exemple, tout en minuscules pour le français et l'espagnol ; lettre majuscule en position initiale pour l'anglais et l'allemand).

W

Affiche le nom abrégé du jour de la semaine au début de la date affichée, tout en majuscules et sans ponctuation.

WR

Affiche le nom complet du jour de la semaine au début de la date affichée, tout en majuscules.

Wp

Affiche le nom abrégé du jour de la semaine au début de la date affichée, tout en majuscules et suivi d'un point.

w

Affiche le nom abrégé du jour de la semaine au début de la date affichée, sans ponctuation. Le nom s'affiche selon la casse par défaut de la langue concernée (par exemple, tout en minuscules pour le français et l'espagnol ; lettre majuscule en position initiale pour l'anglais et l'allemand).

wr

Affiche le nom complet du jour de la semaine au début de la date affichée. Le nom s'affiche selon la casse par défaut de la langue concernée (par exemple, tout en minuscules pour le français et l'espagnol ; lettre majuscule en position initiale pour l'anglais et l'allemand).

wp

Affiche le nom abrégé du jour de la semaine au début de la date affichée, suivi d'un point. Le nom s'affiche selon la casse par défaut de la langue concernée (par exemple, tout en minuscules pour le français et l'espagnol ; lettre majuscule en position initiale pour l'anglais et l'allemand).

X

Affiche le nom abrégé du jour de la semaine à la fin de la date affichée, tout en majuscules et sans ponctuation.

XR

Affiche le nom complet du jour de la semaine à la fin de la date affichée, tout en majuscules.

Xp

Affiche le nom abrégé du jour de la semaine à la fin de la date affichée, tout en majuscules et suivi d'un point.

x

Affiche le nom abrégé du jour de la semaine à la fin de la date affichée, sans ponctuation. Le nom s'affiche selon la casse par défaut de la langue concernée (par exemple, tout en minuscules pour le français et l'espagnol ; lettre majuscule en position initiale pour l'anglais et l'allemand).

xr

Affiche le nom complet du jour de la semaine à la fin de la date affichée. Le nom s'affiche selon la casse par défaut de la langue concernée (par exemple, tout en minuscules pour le français et l'espagnol ; lettre majuscule en position initiale pour l'anglais et l'allemand).

xp

Affiche le nom abrégé du jour de la semaine à la fin de la date affichée, suivi d'un point. Le nom s'affiche selon la casse par défaut de la langue concernée (par exemple, tout en minuscules pour le français et l'espagnol ; lettre majuscule en position initiale pour l'anglais et l'allemand).

Les options valables de séparateur de date sont les suivantes :

Option de format

Description

B

Utilise un espace comme séparateur de composant; c'est l'option par défaut lorsque le mois ou le jour de la semaine est traduit ou qu'une virgule est utilisée.

.

Utilise un point comme séparateur de composant.

-

Utilise un signe moins comme séparateur de composant; c'est l'option par défaut lorsque les conditions nécessaires pour un séparateur blanc ne sont pas satisfaites.

/

Utilise une barre oblique comme séparateur de composant.

|

Omet les séparateurs de composant.

K

Utilise les caractères asiatiques appropriés comme séparateur de composant.

c

Met une virgule après le nom du mois (suivant de T, Tp, TR, t, tp ou tr).

Met une virgule et un espace après le nom du jour (suivant W, Wp, WR, w, wp ou wr).

Met une virgule et un espace devant le nom du jour (suivant X, XR, x ou xr).

e

Affiche le mot espagnol ou portugais de ou DE entre le jour et le mois et entre le mois et l'année. La casse de ce mot est la même que celle utilisée pour le nom du mois. Si celui-ci est en lettres majuscules, DE s'affiche ; dans le cas contraire, 'de' est utilisé. utile pour les formats DMY, DMYY, MY, et MYY

D

Insère une virgule après le numéro du jour, avant le caractère séparateur spécifié.

Y

Insère une virgule après l'année, avant le caractère séparateur spécifié.

lang

est le code ISO standard à deux caractères de la langue dans laquelle la date doit être traduite, entre guillemets simples. Les codes de langage valables sont :

'AR' Arabe

'CS' Tchèque

'DA' Danois

'DE' Allemand

'EN' Anglais

'ES' Espagnol

'FI' Finnois

'FR' Français

'EL' Grec

'IW' Hébreu

'IT' Italien

'JA' Japonais

'KO' Coréen

'LT' Lithuanien

'NL' Néerlandais

'NO' Norvégien

'PO' Polonais

'PT' Portugais

'RU' Russe

'SV' Suédois

'TH' Thaïlandais

'TR' Turc

'TW' Chinois (Traditionnel)

'ZH' Chinois (Simplifié)

outlen

Numérique

est la longueur du champ de sortie en octets. Si la longueur est insuffisante, un résultat tout en blanc est renvoyé. Si la longueur est d'une grandeur excessive, le champ est remplie de blancs à droite.

output

Alphanumérique

est le nom du champ contenant la date convertie, ou le format de la valeur de sortie entre guillemets simples.



x
Référence : Notes d'utilisation sur la fonction DATETRAN


Exemple : Utiliser la fonction DATETRAN

La requête suivante affiche le jour de la semaine dans la casse par défaut de la langue spécifique :

DEFINE FILE VIDEOTRK
TRANS1/YYMD=20050104;
TRANS2/YYMD=20051003;
DATEW/W=TRANS1     ;
DATEW2/W=TRANS2    ;
DATEYYMD/YYMDW=TRANS1    ;
DATEYYMD2/YYMDW=TRANS2   ;
OUT1A/A8=DATETRAN(DATEW, '(W)', '(wr)', 'EN', 8 , 'A8') ;
OUT1B/A8=DATETRAN(DATEW2, '(W)', '(wr)', 'EN', 8 , 'A8') ;
OUT1C/A8=DATETRAN(DATEW, '(W)', '(wr)', 'ES', 8 , 'A8') ;
OUT1D/A8=DATETRAN(DATEW2, '(W)', '(wr)', 'ES', 8 , 'A8') ;
OUT1E/A8=DATETRAN(DATEW, '(W)', '(wr)', 'FR', 8 , 'A8') ;
OUT1F/A8=DATETRAN(DATEW2, '(W)', '(wr)', 'FR', 8 , 'A8') ;
OUT1G/A8=DATETRAN(DATEW, '(W)', '(wr)', 'DE', 8 , 'A8') ;
OUT1H/A8=DATETRAN(DATEW2, '(W)', '(wr)', 'DE', 8 , 'A8') ;
END
TABLE FILE VIDEOTRK
HEADING
"FORMAT wr"
""
"Full day of week name at beginning of date, default case (wr)"
"English / Spanish / French / German"
""
SUM OUT1A AS '' OUT1B AS '' TRANSDATE NOPRINT
OVER OUT1C AS '' OUT1D AS ''
OVER OUT1E AS '' OUT1F AS ''
OVER OUT1G AS '' OUT1H AS '' 
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
GRID=OFF, $
END

La sortie est :

La requête suivante imprime une date délimitée par des blancs avec un nom abrégé du mois en anglais. Les zéros initiaux dans le numéro du jour sont supprimés, et un suffixe est ajouté à la fin du numéro :

DEFINE FILE VIDEOTRK
TRANS1/YYMD=20050104;
TRANS2/YYMD=20050302;
DATEW/W=TRANS1     ;
DATEW2/W=TRANS2    ;
DATEYYMD/YYMDW=TRANS1    ;
DATEYYMD2/YYMDW=TRANS2   ;
OUT2A/A15=DATETRAN(DATEYYMD,  '(MDYY)', '(Btdo)', 'EN', 15, 'A15') ;
OUT2B/A15=DATETRAN(DATEYYMD2, '(MDYY)', '(Btdo)', 'EN', 15, 'A15') ;
END
TABLE FILE VIDEOTRK
HEADING
"FORMAT Btdo"
""
"Blank-delimited (B)"
"Abbreviated month name, default case (t)"
"Zero-suppress day number, end with suffix (do)"
"English"
""
SUM OUT2A AS '' OUT2B AS '' TRANSDATE NOPRINT 
ON TABLE SET PAGE-NUM OFF
END

La sortie est :

La requête suivante imprime une date délimitée par des blancs avec un nom abrégé du mois en allemand. Les zéros initiaux dans le numéro du jour sont supprimés, et un point est ajouté à la fin du numéro :

DEFINE FILE VIDEOTRK
TRANS1/YYMD=20050104;
TRANS2/YYMD=20050302;
DATEW/W=TRANS1     ;
DATEW2/W=TRANS2    ;
DATEYYMD/YYMDW=TRANS1    ;
DATEYYMD2/YYMDW=TRANS2   ;
OUT3A/A12=DATETRAN(DATEYYMD,  '(DMYY)', '(Btdp)', 'DE', 12, 'A12');
OUT3B/A12=DATETRAN(DATEYYMD2, '(DMYY)', '(Btdp)', 'DE', 12, 'A12');
END
TABLE FILE VIDEOTRK
HEADING
"FORMAT Btdp"
""
"Blank-delimited (B)"
"Abbreviated month name, default case (t)"
"Zero-suppress day number, end with period (dp)"
"German"
""
SUM OUT3A AS '' OUT3B AS '' TRANSDATE NOPRINT 
ON TABLE SET PAGE-NUM OFF
END

La sortie est :

La requête suivante imprime une date vide délimitée par des blancs en français avec un nom de jour complet au début et un nom de mois complet, en minuscules (la valeur par défaut pour le français) :

DEFINE FILE VIDEOTRK
TRANS1/YYMD=20050104;
TRANS2/YYMD=20050302;
DATEW/W=TRANS1     ;
DATEW2/W=TRANS2    ;
DATEYYMD/YYMDW=TRANS1    ;
DATEYYMD2/YYMDW=TRANS2   ;
OUT4A/A30 = DATETRAN(DATEYYMD,  '(DMYY)', '(Bwrtr)', 'FR', 30, 'A30');
OUT4B/A30 = DATETRAN(DATEYYMD2, '(DMYY)', '(Bwrtr)', 'FR', 30, 'A30');
END
TABLE FILE VIDEOTRK
HEADING
"FORMAT Bwrtr"
""
"Blank-delimited (B)"
"Full day of week name at beginning of date, default case (wr)"
"Full month name, default case (tr)"
"English"
""
SUM OUT4A AS '' OUT4B AS '' TRANSDATE NOPRINT 
ON TABLE SET PAGE-NUM OFF
END

La sortie est :

La requête suivante imprime une date délimitée par des blancs en espagnol avec un nom de jour complet au début en minuscules (valeur par défaut pour l'espagnol) suivi d'une virgule, avec le mot « de » entre le numéro de jour et le mois et entre le mois et l'année :

DEFINE FILE VIDEOTRK
TRANS1/YYMD=20050104;
TRANS2/YYMD=20050302;
DATEW/W=TRANS1     ;
DATEW2/W=TRANS2    ;
DATEYYMD/YYMDW=TRANS1    ;
DATEYYMD2/YYMDW=TRANS2   ;
OUT5A/A30=DATETRAN(DATEYYMD,  '(DMYY)', '(Bwrctrde)', 'ES', 30, 'A30');
OUT5B/A30=DATETRAN(DATEYYMD2, '(DMYY)', '(Bwrctrde)', 'ES', 30, 'A30');
END
TABLE FILE VIDEOTRK
HEADING
"FORMAT Bwrctrde"
""
"Blank-delimited (B)"
"Full day of week name at beginning of date, default case (wr)"
"Comma after day name (c)"
"Full month name, default case (tr)"
"Zero-suppress day number (d)"
"de between day and month and between month and year (e)"
"Spanish"
""
SUM OUT5A AS '' OUT5B AS '' TRANSDATE NOPRINT 
ON TABLE SET PAGE-NUM OFF
END

La sortie est :

La requête suivante imprime une date en caractères japonais avec un nom complet de mois au début, dans la casse par défaut et avec la suppression des zéros :

DEFINE FILE VIDEOTRK
TRANS1/YYMD=20050104;
TRANS2/YYMD=20050302;
DATEW/W=TRANS1     ;
DATEW2/W=TRANS2    ;
DATEYYMD/YYMDW=TRANS1    ;
DATEYYMD2/YYMDW=TRANS2   ;
OUT6A/A30=DATETRAN(DATEYYMD , '(YYMD)', '(Ktrd)', 'JA', 30, 'A30');
OUT6B/A30=DATETRAN(DATEYYMD2, '(YYMD)', '(Ktrd)', 'JA', 30, 'A30');
END
TABLE FILE VIDEOTRK
HEADING
"FORMAT Ktrd"
""
"Japanese characters (K in conjunction with the language code JA)"
"Full month name at beginning of date, default case (tr)"
"Zero-suppress day number (d)"
"Japanese"
""
SUM OUT6A AS '' OUT6B AS '' TRANSDATE NOPRINT 
ON TABLE SET PAGE-NUM OFF
END

La sortie est :

La requête suivante imprime une date vide délimitée par des blancs en grec avec un nom de jour complet au début dans la casse par défaut suivi d'une virgule, avec un nom de mois complet dans la casse par défaut :

DEFINE FILE VIDEOTRK
TRANS1/YYMD=20050104;
TRANS2/YYMD=20050302;
DATEW/W=TRANS1     ;
DATEW2/W=TRANS2    ;
DATEYYMD/YYMDW=TRANS1    ;
DATEYYMD2/YYMDW=TRANS2   ;
OUT7A/A30=DATETRAN(DATEYYMD , '(DMYY)', '(Bwrctr)', 'GR', 30, 'A30');
OUT7B/A30=DATETRAN(DATEYYMD2, '(DMYY)', '(Bwrctr)', 'GR', 30, 'A30');
END
TABLE FILE VIDEOTRK
HEADING
"FORMAT Bwrctrde"
""
"Blank-delimited (B)"
"Full day of week name at beginning of date, default case (wr)"
"Comma after day name (c)"
"Full month name, default case (tr)"
"Greek"
""
SUM OUT7A AS '' OUT7B AS '' TRANSDATE NOPRINT 
ON TABLE SET PAGE-NUM OFF
END

La sortie est :


WebFOCUS