Manipulação de Data e Hora







Abaixo segue várias funções para manipulação de Data e Hora.








CDOW()
Função que converte uma data para uma cadeia de caracteres.
Sintaxe: CDOW( dExp )
Parâmetros:
dExp Data que será convertida.
Retorno:
cDayWeek Nome do dia da semana como uma cadeia de caracteres. A primeira letra é
maiúscula e as demais minúsculas.
Exemplo:
Código
1
2
3
4
dData := DATE() // Resultado: 09/01/90
cDiaDaSemana := CDOW(DATE()) // Resultado: Friday
cDiaDaSemana := CDOW(DATE() + 7) // Resultado: Friday
cDiaDaSemana := CDOW(CTOD("06/12/90")) // Resultado: Tuesday
A função FG_CDOW(dExp) retorna o nome do dia da semana de acordo com
o idioma em uso pelo ERP.
<strong>CMONTH()</strong>
Função de conversão de datas que retorna uma cadeia de caracteres com o nome do mês em inglês.
Sintaxe: CMONTH( dData )
Parâmetros:
dData Data que será convertida.
Retorno:
cMonth Retorna o nome do mês em uma cadeia de caracteres. A primeira letra do retorno em maiúscula e o restante do nome, em minúsculas.
Exemplo:
Código
1
2
3
4
cMes := CMONTH(DATE()) // Resultado: September
cMes := CMONTH(DATE() + 45) // Resultado: October
cMes := CMONTH(CTOD("12/01/94")) // Resultado: December
cMes := SUBSTR(CMONTH(DATE()), 1, 3) + STR(DAY(DATE())) // Resultado: Sep 1
DATE()
Função que retorna a data do atual sistema. O formato de saída é controlado pelo comando SET DATE, sendo que o formato padrão é mm/dd/yy.
Sintaxe: DATE()
Parâmetros:
Nenhum .
Retorno:
dData Data do sistema.
Exemplo:
Código
1
2
3
4
5
dData := DATE() // Resultado: 09/01/01
dData := DATE() + 30 // Resultado: 10/01/01
dData := DATE() - 30 // Resultado: 08/02/90
dData := DATE()
cMes := CMONTH(dData) // Resultado: September
DAY()
Função de conversão de datas usada para converter o valor data em um número inteiro que representa o dia do mês. Esta função pode ser usada em conjunto com CMONTH() e YEAR() para formatar datas. Pode ser usada também em diversos cálculos envolvendo datas.
Sintaxe: DAY( dData )
Parâmetros:
dData Data que será convertida.
Retorno:
nDias Se o mês do argumento dData for fevereiro, anos bissextos são
considerados. Se a data do argumento dData for 29 de fevereiro e o ano não
for bissexto, ou se o argumento dData for vazio.
Exemplo:
// Estes exemplos mostram a função DAY() de diversas maneiras:
Código
1
2
3
4
5
6
7
8
dData := DATE() // Resultado: 09/01/01
nDia := DAY(DATE()) // Resultado: 1
nDia := DAY(DATE()) + 1 // Resultado: 2
nDia := DAY(CTOD("12/01/94")) // Resultado: 1
// Este exemplo mostra a função DAY() usada em conjunto com CMONTH() e
//YEAR() para formatar o valor da data:
dData := Date()
cData := CMONTH(dData) + STR(DAY(dData)) + "," + STR(YEAR(dData)) // Resultado: June 15, 2001
DOW()
Função que converte uma data para o valor numérico que representa o dia da semana. Útil quando se deseja fazer cálculos semanais. DOW() é similar a CDOW(), que retorna o dia da semana como uma cadeia de caracteres.
Sintaxe: DOW( dData )
Parâmetros:
dData Data que será convertida.
Retorno:
nDia Retorna um número entre zero e sete, representando o dia da semana. O primeiro dia da semana é 1 (Domingo) e o último é 7 (Sábado). Se a data for vazia ou inválida, DOW() retorna zero.
Exemplo:
Código
1
2
3
4
5
dData := DATE() // Resultado: 09/01/01
nDiaDaSemana := DOW(DATE()) // Resultado: 3
cDiaDaSemana := CDOW(DATE()) // Resultado: Tuesday
nDiaDaSemana := DOW(DATE() - 2) // Resultado: 1
cDiaDaSemana := CDOW(DATE() - 2) // Resultado: Sunday
DTOC()
Função para conversão de uma data para uma cadeia de caracteres formatada segundo o padrão corrente, definido pelo comando SET DATE. Se for necessária a utilização de formatação especial, use a função TRANSFORM().
Em expressões de índices de arquivo, use DTOS() no lugar de DTOC() para converter datas para cadeia de caracteres.
Sintaxe: DTOC( dData )
Parâmetros:
dData Data que será convertida.
Retorno:
cData É uma cadeia de caracteres representando o valor da data. O retorno é formatado utilizando-se o formato corrente definido pelo comando SET DATE FORMAT. O formato padrão é mm/dd/yy. Para uma data nula ou inválida, o
retorno será uma cadeia de caracteres com espaços e tamanho igual ao formato atual.
Exemplo:
Código
1
2
3
cData := DATE() // Resultado: 09/01/90
cData := DTOC(DATE()) // Resultado: 09/01/90
cData := "Today is " + DTOC(DATE()) // Resultado: Today is 09/01/90
DTOS()
Função para conversão de uma data que pode ser usada para criar expressões de índice. O resultado é estruturado visando manter a ordem correta do índice (ano, mês, dia).
Sintaxe: DTOS( dData )
Parâmetros:
dData Data que será convertida.
Retorno:
sData Retorna uma cadeia de caracteres com oito byte de tamanho no formato yyyymmdd. Quando dData é nulo ou invalido, DTOS() retorna uma cadeia de caracteres com oito espaços. O valor retornado não é afetado pela
formato da data corrente.
Exemplo:
Código
1
2
3
cData := DATE() // Resultado: 09/01/90
cData := DTOS(DATE()) // Resultado: 19900901
nLen := LEN(DTOS(CTOD(""))) // Resultado: 8
ELAPTIME()
Função que retorna uma cadeia de caracteres contendo a diferença de tempo no formato hh:mm:ss, onde hh é a hora ( 1 a 24 ), mm os minutos e ss os segundos.
Sintaxe: ElapTime( cHoraInicial , cHoraFinal )
Parâmetros:
cHoraInicial Informe a hora inicial no formato hh:mm:ss, onde hh é a hora ( 1 a 24 ), mm os minutos e ss os segundos
CHoraFinal Informe a hora final no formato hh:mm:ss, onde hh é a hora ( 1 a 24 ), mm os minutos e ss os segundos.
Retorno:
Caracter A diferença de tempo no formato hh:mm:ss, onde hh é a hora ( 1 a 24 ), mm os minutos e ss os segundos.
Exemplo:
Código
1
2
cHoraInicio := TIME() // Resultado: 10:00:00
cElapsed := ELAPTIME(TIME(), cHoraInicio)
MONTH()
Função de conversão que extrai da data o valor numérico do mês, semelhante a função que retorna o nome do mês a partir do valor de dData.
Sintaxe: MONTH( dData )
Parâmetros:
dData Data que será convertida.
Retorno:
Numérico >=0 e <=12  Para uma data válida.
0  Se a data for nula ou inválida
Exemplo:
Código
1
2
3
dData := DATE() // Resultado: 09/01/01
nMes := MONTH(DATE()) // Resultado: 9
nMes := MONTH(DATE()) + 1 // Resultado: 10
SECONDS()
Esta função retorna o número de segundos decorridos desde a meia-noite, segundo a hora do sistema. Está relacionada à função TIME() que retorna a hora do sistema como uma cadeia de caracteres no formato hh:mm:ss.
Sintaxe: SECONDS()
Parâmetros:
Nenhum .
Retorno:
Numérico >=0 e <=86399  Retorna a hora do sistema em segundos. O valor numérico representa o número de segundos decorridos desde a meia-noite, baseado no relógio de 24 horas e varia de 0 a 86399.
Exemplo:
Código
1
2
3
4
cHora := TIME() // Resultado: 10:00:00
cSegundos := SECONDS() // Resultado: 36000.00
//Este exemplo usa a função SECONDS() para cronometrar o tempo decorrido:
LOCAL nStart, nElapsed<br />nStart:= SECONDS()
TIME()
Função que retorna a hora do sistema como uma cadeia de caracteres, e que está relacionada com SECONDS(), que retorna o valor inteiro representando o número de segundos desde a meia-noite. SECONDS() é geralmente usada no lugar de TIME() para cálculos.
Sintaxe: TIME()
Parâmetros:
Nenhum .
Retorno:
Caracter A hora do sistema como uma cadeia de caracteres no formato hh:mm:ss onde hh é a hora ( 1 a 24 ), mm os minutos e ss os segundos.
Exemplo:
Código
1
2
3
4
cTime := TIME() // Resultado: 10:37:17
cHora := SUBSTR(cTime, 1, 2) // Resultado: 10
cMinutos := SUBSTR(cTime, 4, 2) // Resultado: 37
cSegundos := SUBSTR(cTime, 7, 2) // Resultado: 17
YEAR()
YEAR() é uma função de conversão de data que extrai o valor numérico do ano. YEAR() é membro de um grupo de funções que retornam valores numéricos de uma data. O grupo inclui DAY() e MONTH() que retornam o dia e o mês como valores numéricos.
Sintaxe: YEAR( dData )
Parâmetros:
dData Data que será convertida.
Retorno:
Numérico Valor numérico do ano da data especificada em dData incluindo os dígitos do século. O valor retornado não é afetado pelos valores especificados pelos comandos SET DATE ou SET CENTURY.
Para uma data inválida ou nula será retornado o valor 0.
Exemplo 01:
Código
1
2
3
dData := DATE() // Resultado: 09/20/01
dAno := YEAR(dData) // Resultado: 2001
dAno := YEAR(dData) + 11 // Resultado: 2012
Exemplo 02:
Código
1
2
3
4
// Este exemplo cria uma função de usuário que usa a função YEAR() para formatar o valor da data:
cData := Mdy(DATE()) // Result: September 20, 1990
FUNCTION Mdy( dDate )
RETURN CMONTH(dDate) + " " + LTRIM(STR(DAY(dDate))) + "," + STR(YEAR(dDate))

Nenhum comentário :

Postar um comentário