Condição: INVREQ
Este comando é threadsafe.
Descrição:
FORMATTIME transforma a data e hora absolutas em qualquer um de uma variedade de formatos. Normalmente, o argumento ABSTIME é o valor retornado por um comando ASKTIME ABSTIME.
Para obter um tempo decorrido em um formato específico, o valor de dados ABSTIME pode ser a diferença entre dois valores retornados por ASKTIME, e opções como DAYCOUNT (d) e TIME (t) podem ser especificadas.
Quando você usa a opção DATESTRING para solicitar uma string de carimbo de data e hora arquitetada que requer que a hora do relógio seja UTC, o CICS® calcula o deslocamento de fuso horário necessário a partir do valor ABSTIME fornecido, que está no horário local, e produz a data e hora string de carimbo em UTC. Todos os outros valores retornados pelo comando FORMATTIME, como o valor TIME, são retornados na hora local. Portanto, é normal para o comando FORMATTIME produzir uma string de carimbo de data e hora arquitetada mostrando uma data e hora, e retornar outros valores mostrando outra data e hora, para o mesmo valor ABSTIME fornecido.
Opções:
ABSTIME ( área de dados )
Especifica a área de dados para o número de milissegundos desde 00:00 em 1 de janeiro de 1900, que é conhecido como hora absoluta. A hora é obtida do relógio de hora do dia do sistema, ajustada para segundos intercalados e para aplicar o deslocamento de fuso horário local (incluindo o horário de verão), truncada em milissegundos e retornada como um decimal compactado de 8 bytes de comprimento. Você pode usar FORMATTIME para alterar os dados em outros formatos familiares.
O formato do parâmetro é:
COBOL: PIC S9(15) COMP-3
C: char data_ref[8];
PL/I: FIXED DEC(15);
ASM: PL8
DATA ( área de dados )
Especifica a variável que deve receber a data no formato especificado no parâmetro de inicialização do sistema DATFORM. Um separador está presente se solicitado pela opção DATESEP. Se nenhum separador for solicitado, o valor retornado será justificado à esquerda no campo do usuário de 8 caracteres. Você normalmente usa esta opção apenas quando uma data é necessária para fins de saída. Quando uma data for necessária para análise, solicite a data de forma explícita; por exemplo, usando a opção MMDDAA.
FORMULÁRIO DE DATA ( área de dados )
Especifica o formato da data definida pela instalação. CICS retorna YYMMDD, DDMMYY ou MMDDYY (seis caracteres) de acordo com o parâmetro de inicialização do sistema DATFORM.
DATESEP ( dados-valor )
Especifica o caractere a ser inserido como separador entre o ano e o mês e entre o dia e o mês; ou entre o ano e o dia, se o formato YYDDD for especificado.
Se você omitir esta opção, nenhum separador será fornecido. Se você omitir o valor dos dados , uma barra ( / ) é considerada o separador.
DATE STRING (área de dados)
Especifica o campo do usuário de 64 caracteres em que o CICS retorna a sequência de carimbo de data e hora arquitetada no formato especificado pela opção STRINGFORMAT. Se STRINGFORMAT não for especificado, o formato padrão fornecido é o formato RFC 1123 (RFC1123). Se você estiver usando a opção DATESTRING, execute primeiro o comando ASKTIME ABSTIME para obter um valor para a opção ABSTIME. Se o valor para a opção ABSTIME for de qualquer outra origem, a sequência de registro de data e hora arquitetada que é retornada pelo comando FORMATTIME pode estar incorreta.
DAYCOUNT ( área de dados )
Retorna o número de dias desde 1º de janeiro de 1900 (dia 1), como um número binário de palavra inteira. Esta função é útil se você precisar comparar a data atual com uma data anterior que foi, por exemplo, armazenada em um conjunto de dados.
DAYOFMONTH ( área de dados )
Retorna o número do dia no mês como um número binário de palavra inteira.
DAYOFWEEK ( área de dados )
Retorna o número relativo do dia da semana como um número binário de palavra inteira: Domingo = 0, Sábado = 6. Esse número pode ser convertido em uma forma textual do dia em qualquer idioma.
DDMMAA ( área de dados )
Especifica o campo do usuário de 8 caracteres em que o CICS retorna a data, no formato dia / mês / ano; por exemplo, 21/10/98. Um separador está presente se solicitado pela opção DATESEP. Se nenhum separador for solicitado, o valor retornado será justificado à esquerda no campo do usuário de 8 caracteres.
DDMMAAAA ( área de dados )
Especifica o campo do usuário de 10 caracteres em que o CICS retorna a data, no formato dia / mês / ano; por exemplo, 17/06/1995. Um separador está presente se solicitado pela opção DATESEP. Se nenhum separador for solicitado, o valor retornado será justificado à esquerda no campo do usuário de 10 caracteres.
FULLDATE (área de dados)
Especifica o campo do usuário de 10 caracteres em que o CICS retorna a data, no formato especificado no parâmetro de inicialização do sistema DATFORM, com o ano expandido para quatro dígitos. Um separador está presente se solicitado pela opção DATESEP. Se nenhum separador for solicitado, o valor retornado será justificado à esquerda no campo do usuário de 10 caracteres. Você normalmente usa esta opção apenas quando uma data é necessária para fins de saída. Quando uma data for necessária para análise, solicite a data de forma explícita, por exemplo, usando a opção MMDDAAAA.
MILISSEGUNDOS ( área de dados )
Retorna o número de milissegundos no segundo atual especificado por ABSTIME, como um número inteiro binário no intervalo de 0 a 999.
MMDDAA ( área de dados )
Especifica o campo do usuário de 8 caracteres no qual o CICS retorna a data, no formato mês / dia / ano; por exemplo, 21/10/95. Um separador está presente se solicitado pela opção DATESEP. Se nenhum separador for solicitado, o valor retornado será justificado à esquerda no campo do usuário de 8 caracteres.
MMDDAAAA ( área de dados )
Especifica o campo do usuário de 10 caracteres em que o CICS retorna a data, no formato mês / dia / ano; por exemplo, 21/11/1995. Um separador está presente se solicitado pela opção DATESEP. Se nenhum separador for solicitado, o valor retornado será justificado à esquerda no campo do usuário de 10 caracteres.
MONTHOFYEAR ( área de dados )
data-area é definida como o número relativo do mês do ano como um número binário de palavra inteira (janeiro = 1, dezembro = 12). Você pode converter esse número, em seu programa de aplicação, para o nome do mês em qualquer idioma.
FORMATO DE STRING (cvda)
Especifica o formato da string de carimbo de data e hora arquitetada retornada em DATESTRING. Os valores CVDA são:
RFC1123
Especifica o formato RFC 1123, que é adequado para uso em mensagens HTTP. Essa string de carimbo de data e hora contém o dia, a data e a hora do relógio de 24 horas, por exemplo “ Ter, 01 de abril de 2003 10:01:02 +0000 ” . Este formato não inclui milissegundos e o número de segundos é truncado.
RFC3339
Especifica o formato RFC 3339, também conhecido como tipo de dados XML dateTime. Este formato é uma implementação de um subconjunto do padrão ISO 8601. Um exemplo de carimbo de data e hora neste formato é 2003-04-24T10: 01: 02 + 00: 00. Os carimbos de data e hora neste formato estão em UTC (Coordinated Universal Time). Esta string de carimbo de data e hora contém a data e o relógio de 24 horas. O deslocamento de fuso horário (-12: 00 a +12: 00) é indicado no final do carimbo de data e hora.
A especificação RFC 3339 permite que a letra Z seja usada para um deslocamento de zero (+00: 00). Uma fração decimal de um segundo no relógio de 24 horas é opcional na especificação e o comando FORMATTIME não a inclui. Um exemplo de carimbo de data / hora mostrando a fração decimal de um segundo e a letra Z para um deslocamento de zero é 2003-04-01T10: 01: 02.498Z. Se quiser adicionar a fração decimal de um segundo usando seu aplicativo, você pode usar a opção MILISSEGUNDOS para retornar o número de milissegundos que também passaram.
STRINGZONE (cvda)
Especifica o fuso horário no qual o registro de data e hora retornado em DATESTRING deve ser retornado. Os valores CVDA são:
UTC
DATESTRING deve ser retornado em UTC. Esta é a configuração padrão.
LOCAL
DATESTRING deve ser retornado no fuso horário LOCAL.
TIME ( área de dados )
data-area é definida como um campo de 8 caracteres para o relógio atual de 24 horas no formato hh: mm: ss, onde o separador é especificado pela opção TIMESEP. O número de segundos é truncado. Use a opção MILLISECONDS para retornar o número de milissegundos que também passaram.
TIMESEP ( valor de dados )
Especifica o caractere a ser usado como separador na hora retornada. Se você omitir esta opção, nenhum separador será assumido e 6 bytes serão retornados em um campo de 8 caracteres. Se você omitir data-value , dois pontos (:) são usados como separador.
ANO ( área de dados )
Especifica o número completo de 4 dígitos do ano como um número binário de palavra inteira; por exemplo, 1995, 2001.
YYDDD ( área de dados )
Especifica o campo do usuário de 6 caracteres em que o CICS retorna a data, no formato ano / dia; por exemplo, 95/301. Um separador está presente se solicitado pela opção DATESEP. Se nenhum separador for solicitado, o valor retornado será justificado à esquerda no campo do usuário de 6 caracteres.
YYDDMM ( área de dados )
Especifica o campo do usuário de 8 caracteres em que o CICS retorna a data, no formato ano / dia / mês; por exemplo, 95/30/10. Um separador está presente se solicitado pela opção DATESEP. Se nenhum separador for solicitado, o valor retornado será justificado à esquerda no campo do usuário de 8 caracteres.
AAMMDD ( área de dados )
Especifica o campo do usuário de 8 caracteres em que o CICS retorna a data, no formato ano / mês / dia; por exemplo, 95/10/21. Um separador está presente se solicitado pela opção DATESEP. Se nenhum separador for solicitado, o valor retornado será justificado à esquerda no campo do usuário de 8 caracteres.
AAAADDD ( área de dados )
Especifica o campo do usuário de 8 caracteres em que o CICS retorna a data, no formato ano / dia; por exemplo 1995/200. Um separador está presente se solicitado pela opção DATESEP. Se nenhum separador for solicitado, o valor retornado será justificado à esquerda no campo do usuário de 8 caracteres.
AAAADDMM ( área de dados )
Especifica o campo do usuário de 10 caracteres em que o CICS retorna a data, no formato ano / dia / mês; por exemplo 1995/21/06. Um separador está presente se solicitado pela opção DATESEP. Se nenhum separador for solicitado, o valor retornado será justificado à esquerda no campo do usuário de 10 caracteres.
AAAAMMDD ( área de dados )
Especifica o campo do usuário de 10 caracteres em que o CICS retorna a data, no formato ano / mês / dia; por exemplo 1995/06/21. Um separador está presente se solicitado pela opção DATESEP. Se nenhum separador for solicitado, o valor retornado será justificado à esquerda no campo do usuário de 10 caracteres.
Condições:
16 INVREQ
Valores RESP2:
1
O valor ABSTIME é menor que zero ou não está no formato decimal compactado.
2
Valor CVDA inválido para a opção STRINGFORMAT.
Ação padrão: encerra a tarefa de forma anormal.
Exemplos:
O exemplo a seguir mostra o efeito de algumas das opções do comando. Deixe utime conter o valor 003578979940458 em milissegundos.
EXEC CICS ASKTIME ABSTIME(utime)
EXEC CICS FORMATTIME ABSTIME(utime)
DATESEP('-') DDMMYY(date)
TIME(time) TIMESEP(':')
Isso dá os valores 31-05-13 para a data e 08:05:40 para a hora .