DATETRAN: Como Formatar Datas em Formatos Internacionais

Como:

Referência:

Linguagens Disponíveis: Reporting, Maintain

A função DATETRAN formata datas em formatos internacionais.


Topo da página

x
Sintaxe: Como Formatar datas em formatos internacionais
DATETRAN (indate, '(intype)', '([formatops])', 'lang', outlen, output)

onde:

indate

É a data de entrada (no formato de data) a ser formatada. Observe que o formato de data não pode ter um formato de caractere alfanumérico ou numérico com opções de exibição de data (formato de data legada).

intype

É uma das seguintes strings de caracteres indicando os componentes de entrada de data e a ordem pela qual você deseja exibi-los, entre parênteses e aspas simples.

Estes são os tipos de entrada de componente simples:

Tipo de Entrada de Componente Simples

Descrição

'(W)'

Apenas o componente do dia da semana (o formato original deve conter apenas o componente W).

'(M)' 

Apenas o componente do mês (formato original deve possuir apenas o componente M).

Estes são os tipos de entrada com dois componentes:

Tipo de Entrada com Dois Componentes:

Descrição

'(YYM)'

Ano com quatro dígitos seguido do mês.

'(YM)'

Ano com dois dígitos seguido do mês.

'(MYY)'

Componente mês seguido do ano com quatro dígitos.

'(MY)'

Componente mês seguido do ano com dois dígitos.

Estes são os tipos de entrada com três componentes:

Tipo de Entrada de Três Componentes

Descrição

'(YYMD)'

Ano com quatro dígitos seguido do mês seguido do dia.

'(YMD)' 

Ano com dois dígitos seguido do mês seguido do dia.

'(DMYY)'

Componente dia seguido do mês seguido do ano de quatro dígitos.

'(DMY)'

Componente dia seguido do mês seguido do ano de dois dígitos.

'(MDYY)'

Componente mês seguido do dia seguido do ano de quatro dígitos.

'(MDY)'

Componente mês seguido do dia seguido do ano de dois dígitos.

'(MD)'

O componente do mês seguido pelo dia (derivado da data de três componentes, ignorando o componente do ano).

'(DM)'

O componente do dia seguido pelo mês (derivado da data de três componentes, ignorando o componente do ano).

formatops

É uma string de zeros ou mais opções de formatação entre parênteses e aspas simples. Os parênteses e as aspas são necessários mesmo que você não especifique as opções de formatação. As opções de formatação caem nas seguintes categorias:

  • Opções para a supressão de zeros iniciais em números de mês e dia.

    Observação: A supressão de zeros substitui zeros iniciais por espaços em branco.

  • Opções para a tradução dos componentes de mês e dia em nomes completos ou abreviados, em maiúsculas ou maiúsculas e minúsculas (minúsculas ou maiúsculas e minúsculas dependendo do idioma).
  • Opções de delimitadores de data e opções para pontuação de datas com vírgulas.

Opções válidas para a supressão de zeros iniciais em números de mês e dia estão listadas na tabela a seguir. Observe que o zero inicial é substituído por um espaço em branco:

Opção Formatar

Descrição

m

Suprime o zero dos meses (mostra os meses anteriores a Outubro como 1, 2, 3 até 9 ao invés de 01, 02, 03 até 09).

d

Exibe os dias antes do décimo dia de cada mês no formato 1 a 9 em vez de 01 a 09.

dp

Exibe dias antes do décimo dia do mês como 1, 2, 3 até 9 ao invés de 01, 02, 03 até 09 com um ponto depois do número.

do

Exibe os dias antes do décimo dia de cada mês no formato 1 a 9. Apenas para o inglês (código de idioma EN), exibe um sufixo ordinal (st, nd, rd ou th) após o número.

As opções válidas de tradução de nomes para meses e dias são:

Opção Formatar

Descrição

T

- Exibe mês como um nome abreviado, sem pontuação, todo em caixa alta.

TR

Exibe mês com um nome completo, tudo em caixa alta.

Tp

- Exibe mês como um nome abreviado seguido de um período, tudo em caixa alta.

t

Exibe mês como um nome abreviado e sem pontuação. O nome é todo em caixa baixa ou caixa alta, dependendo da linguagem do código.

tr

Exibe mês com um nome completo. O nome é todo em caixa baixa ou caixa alta, dependendo da linguagem do código.

tp

- Exibe mês como um nome abreviado seguido de um período. O nome é exibido na formatação padrão do idioma específico (por exemplo, apenas minúsculas para o francês e o espanhol e com a primeira letra maiúscula para o inglês e o alemão).

W

Inclui um nome de dia de semana abreviado no início da data exibida, todo em letra maiúscula e sem pontuação.

WR

Inclui um nome de dia de semana inteiro no início da data exibida, todo em letra maiúscula.

Wp

Inclui um nome de dia de semana abreviado no início da data exibida, todo em letra maiúscula, seguido de um ponto.

w

Inclui um nome de dia de semana abreviado no início da data exibida, sem pontuação. O nome é exibido na formatação padrão do idioma específico (por exemplo, apenas minúsculas para o francês e o espanhol e com a primeira letra maiúscula para o inglês e o alemão).

wr

Inclui um nome de dia de semana inteiro no início da data exibida. O nome é exibido na formatação padrão do idioma específico (por exemplo, apenas minúsculas para o francês e o espanhol e com a primeira letra maiúscula para o inglês e o alemão).

wp

Inclui um nome de dia de semana abreviado no início da data exibida seguido de um ponto. O nome é exibido na formatação padrão do idioma específico (por exemplo, apenas minúsculas para o francês e o espanhol e com a primeira letra maiúscula para o inglês e o alemão).

X

- Inclui um nome de dia de semana abreviado no final da data exibida, todo em letra maiúscula, sem pontuação.

XR

Inclui um nome inteirode dia de semana no final da data exibida, todo em letras maiúsculas.

Xp

Inclui um nome de dia de semana abreviado no final da data exibida, todo em letra maiúscula, seguido de um ponto.

x

Inclui um nome de dia de semana abreviado no final da data exibida, todo em letra maiúscula, sem pontuação. O nome é exibido na formatação padrão do idioma específico (por exemplo, apenas minúsculas para o francês e o espanhol e com a primeira letra maiúscula para o inglês e o alemão).

xr

Inclui um nome inteiro de dia de semana no final da data exibida. O nome é exibido na formatação padrão do idioma específico (por exemplo, apenas minúsculas para o francês e o espanhol e com a primeira letra maiúscula para o inglês e o alemão).

xp

Inclui um nome de dia de semana abreviado no final da data exibida, todo em letra maiúscula, seguido de um ponto. O nome é exibido na formatação padrão do idioma específico (por exemplo, apenas minúsculas para o francês e o espanhol e com a primeira letra maiúscula para o inglês e o alemão).

As opções válidas de delimitadores de data são:

Opção Formatar

Descrição

B

Usa um espaço como delimitador de componente. Esse é o padrão se o mês, ou dia da semana é traduzido ou se uma vírgula é usada.

.

Usa um ponto como delimitador de componente.

-

Usa um símbolo de subtração como delimitador de componente. Isso é o padrão quando as condições para um para um delimitador padrão em branco não são satisfeitas.

/

Usa uma barra como delimitador de componente.

|

Omite o delimitador de componente.

K

Usa os caracteres asiáticos adequados conforme os delimitadores do componente.

c

Posiciona uma vírgula após o nome do mês (seguida de T, Tp, TR, t, tp ou tr).

Posiciona uma vírgula e um espaço em branco após o nome do dia (seguidos de W, Wp, WR, w, wp ou wr).

Posiciona uma vírgula e um espaço em branco antes do nome do dia (seguidos de X, XR, x ou xr).

e

Exibe a palavra Espanhola ou Portuguesa de ou DE entre o dia e o mês e entre o mês e o ano. A palavra de será escrita em maiúsculas, minúsculas ou maiúsculas e minúsculas dependendo de como o nome do mês estiver escrito. Se o mês for exibido em maiúsculas, DE será exibido. Caso contrário, de é exibido. Útil para formatos DMA, DMAA, MA e MAA.

D

Insere uma vírgula depois do número do dia e antes do delimitador geral de caractere especificado.

Y

Insere uma vírgula depois do ano e antes do caractere delimitador geral especificado.

lang

É o código ISO padrão de dois caracteres do idioma para o qual a data deve ser traduzida, entre aspas simples. Códigos de idiomas válidos são:

'AR' - Árabe

'CS' - Tcheco

'DA' - Dinamarquês

'DE' - Alemão

'EN' - Inglês

'ES' - Espanhol

'FI' - Finlandês

'FR' - Francês

'EL' - Grego

'IW' - Hebraico

'IT' - Italiano

'JA' - Japonês

'KO' - Coreano

'LT' - Lituano

'NL' - Holandês

'NO' - Norueguês

'PO' - Polonês

'PT' - Português

'RU' - Russo

'SV' - Sueco

'TH' - Tailandês

'TR' - Turco

'TW' - Chinês (Tradicional)

'ZH' - Chinês (Simplificado)

outlen

Numérico

É o comprimento do campo de saída em bytes. Se o comprimento for insuficiente, um resultado todo em branco será retornado. Se o comprimento for maior do que o necessário, o campo será preenchido com espaços em branco à direita.

saída

Alfanumérico

É o nome do campo que contém a data traduzida ou o seu formato entre aspas simples.



x
Referência: Observações sobre o Uso para a Função DATETRAN


Exemplo: Como Utilizar a Função DATETRAN

A solicitação a seguir imprime o dia da semana no tipo de letra padrão (maiúsculas ou minúsculas) do idioma específico:

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

A saída é:

A solicitação a seguir imprime uma data delimitada por um espaço em branco com um nome de mês abreviado em inglês. Zeros iniciais no número do dia são suprimidos e um sufixo é adicionado ao fim do número:

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

A saída é:

A solicitação a seguir imprime uma data delimitada por um espaço em branco com um nome de mês abreviado em alemão. Zeros iniciais no número do dia são suprimidos e um ponto final é adicionado ao fim do número:

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

A saída é:

A solicitação a seguir imprime uma data delimitada por um espaço em branco em francês com um nome de dia completo no início e um nome de mês completo, em minúsculas (o padrão para o francês):

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

A saída é:

A solicitação seguinte imprime uma data delimitada em branco em espanhol com o nome inteiro de dia no início em letra minúscula (o padrão para espanhol) seguido de uma vírgula, e com a palavra "de" entre o número do dia e do mês e entre o mês e o ano:

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

A saída é:

A solicitação a seguir imprime uma data em caracteres japoneses com um nome de mês completo no início, no tipo de letra (maiúsculas ou minúsculas) e com supressão de zeros:

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

A saída é:

A solicitação a seguir imprime uma data delimitada por um espaço em branco em grego com um nome de dia completo no início no tipo de letra (maiúsculas ou minúsculas) padrão seguida de uma vírgula e com um nome de mês completo no tipo de letra padrão:

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

A saída é:


Information Builders