Você está na página 1de 3

InicialForums>Duvidas Ferramentas>Progress 4GL>

1.
2.
3.
4.
PatrocinadorAnuncios

Calcular o número da semana de uma data


Discussão em 'Progress 4GL' iniciado por dilonei, Abril 28, 2009.

Acompanhar Tópico

1.

diloneiSem Pontuação
Para calcular o número da semana de uma data, podemos utilizar o seguinte calculo:
Código:

def var f as int format "999".


def var s as int format "999".
def var dt-ini as int format "999".
def var c-ini as char format "x(10)".
def var c-fim as char format "x(10)".

def var dt-simula as date format "99/99/9999".

assign dt-simula = date("28/04/2009").

assign
/* Data inicio do ano */
c-ini = "01/01/" + string(year(dt-simula))
/* Data do dia */
c-fim = string(day(dt-simula)) + "/" + string(month(dt-simula)) + "/" +
string(year(dt-simula))
/* Verifica em que dia da semana o dia 01/01 caiu */
dt-ini = weekday(date(c-ini))
/* Quantidade de dias no ano */
f = int(date(c-fim) - date(c-ini))
/*
f : quantidade de dias até a data
(7 - weekday(dt-simula)): pega os dias que falta da semana da data
dt-ini: quantidade de dias a somar no inicio do ano para completar uma
semana
*/
f = f + (7 - weekday(dt-simula)) + dt-ini
/* Divide a qantidade de dias incrementada por 7 */
s = f / 7.

/* Exemplo:
Data Inicio: 01/01/2009 - Caiu numa quinta-feira, a contar de domingo
são 5 dias *
Data do Calculo: 28/04/2009 - Cai numa terça feita, a contar de
domingo são 3 dias *
Dias até a data a contar do dia pimeiro do ano: int(date(01/01/2009) -
date(28/04/2009)) = 126
f = 117 + (7 - 3) + 5 = 126

Então: 126 / 7 = 18.

Logo, para o dia 28/04/2009 a semana é a 18.

Calculo:

* Para descobrir o dia utilizamos a formula (weekday(data))

*/

disp c-ini skip c-fim skip f skip s skip dt-ini skip int(date(c-fim) -
date(c-ini)).

Acho que é isto.

Abraços a todos

Dilonei Grando
Analista de Sistemas
dilonei, Abril 28, 2009
#1

2.

atila.cmMembro Participativo
Dilonei valeu.

Para complementar sua dica postei um exemplo onde testo se o ano fiscal para o cliente
inicia no dia primeiro do ano ou na primeira segunda feira. Muitas multi-nacionais
consideram o inicio do ano fiscal como sendo a primeira segunda feira do ano.

Abraços

Atila
atila.cm@hotmail.com
Arquivos Anexados:

o w-semana.w

Tamanho:

10.4 KB

Visitas:

31

atila.cm, Abril 29, 2009


#2
(You have insufficient privileges to reply here.)

Compartilhe esta Página


InicialForums>Duvidas Ferramentas>Progress 4GL>

 Inicial
 Forums

o Marca fóruns como lídos

o Pesquisar

o Fóruns Acompanhados

o Tópicos Monitorados

o Novos Posts

o Spy

 Downloads

 Membros

 EMS, HCM, Totvs 11

 Parceiros

 Colaboradores

 Pesquisa

 Blog 4Each

 Aurélio Barros

 Caixa de Entrada

 Alertas
Português (BR)

 Fale Conosco

 Ajuda

 Inicial

 Top

 RSS

 Termos e Regras
Forum software by XenForo™ ©2010-2014 XenForo Ltd.

Você também pode gostar